Rumah  >  Artikel  >  hujung hadapan web  >  javascript tidak mengulang aksara

javascript tidak mengulang aksara

WBOY
WBOYasal
2023-05-29 14:30:38671semak imbas

Dalam pembangunan web, JavaScript ialah bahasa skrip yang berkuasa yang boleh menjadikan halaman web lebih dinamik dan interaktif. Dalam kebanyakan kes, pembangun perlu menyemak sama ada sekeping teks mengandungi aksara berulang. Artikel ini akan menunjukkan kepada anda cara menggunakan JavaScript untuk mencapai matlamat ini dan mengelakkan aksara berulang.

  1. Gunakan objek Set

Set ialah struktur data baharu dalam ES6 Ia serupa dengan tatasusunan, tetapi elemen dalam Set tidak berulang. Anda boleh menukar teks kepada tatasusunan aksara, kemudian menukar tatasusunan aksara kepada objek Tetapkan dan cari sama ada elemen diulang dalam objek Set.

Berikut ialah contoh menggunakan objek Set untuk menyemak sama ada terdapat aksara berulang dalam teks:

function checkDuplicates(text) {
  var charArray = text.split('');
  var charSet = new Set(charArray);
  return charSet.size !== charArray.length;
}

var textWithDuplicates = "aabbccdd";
var textWithoutDuplicates = "abcd";

console.log(checkDuplicates(textWithDuplicates)); // true
console.log(checkDuplicates(textWithoutDuplicates)); // false

Mula-mula gunakan kaedah split untuk menukar teks kepada tatasusunan aksara, dan kemudian buat objek Tetapkan Objek terdiri daripada elemen dalam tatasusunan aksara. Akhir sekali, gunakan atribut size objek Set untuk menyemak sama ada bilangan elemen dalam objek Set adalah sama dengan panjang tatasusunan aksara Jika keadaan ini tidak benar, ini bermakna terdapat aksara berulang dalam teks .

  1. Menggunakan Sifat Objek

Cara lain ialah menyemak sama ada terdapat aksara pendua dalam teks dengan menggunakan objek. Anda boleh mencipta objek kosong bernama charMap dan mengulangi tatasusunan aksara, menyimpan aksara sebagai nama sifat objek dan menetapkan nilainya kepada benar. Sebelum menambah aksara seterusnya, anda perlu menyemak sama ada harta objek sudah wujud. Jika ada, ini bermakna watak itu sudah wujud dalam teks dan oleh itu adalah pendua.

Berikut ialah contoh menggunakan sifat objek untuk menyemak sama ada terdapat aksara pendua dalam teks:

function checkDuplicates(text) {
  var charArray = text.split('');
  var charMap = {};

  for (var i = 0; i < charArray.length; i++) {
    var currentChar = charArray[i];

    if (charMap[currentChar]) {
      return true;
    }

    charMap[currentChar] = true;
  }

  return false;
}

var textWithDuplicates = "aabbccdd";
var textWithoutDuplicates = "abcd";

console.log(checkDuplicates(textWithDuplicates)); // true
console.log(checkDuplicates(textWithoutDuplicates)); // false

Mula-mula gunakan kaedah split untuk menukar teks kepada tatasusunan aksara, dan kemudian buat objek kosong charMap . Seterusnya, gunakan for untuk menggelung tatasusunan aksara dan semak sama ada aksara semasa sudah wujud dalam objek charMap Jika wujud, aksara itu diulang. Jika aksara tidak ada, ia digunakan sebagai nama sifat objek dan nilainya ditetapkan kepada true. Akhir sekali, jika tiada aksara berulang ditemui selepas gelung tamat, false dikembalikan.

Perlu diambil perhatian bahawa apabila menggunakan sifat objek sebagai nama sifat, sifat akan ditukar secara automatik kepada rentetan. Oleh itu, jika anda tidak menggunakan kaedah split untuk menukar kepada tatasusunan aksara, tetapi secara langsung menggunakan teks sebagai input, ia mungkin menyebabkan beberapa masalah yang tidak dapat diramalkan.

Ringkasnya, artikel ini memperkenalkan dua kaedah untuk menggunakan JavaScript untuk menyemak sama ada terdapat aksara berulang dalam teks. Dengan menggunakan Tetapkan objek atau sifat objek, pembangun boleh mengelakkan aksara pendua dan meningkatkan prestasi dan kebolehpercayaan aplikasi web.

Atas ialah kandungan terperinci javascript tidak mengulang aksara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:tetapan lebar cssArtikel seterusnya:tetapan lebar css