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.
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 .
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!