Kata pengantar
Secara umum, kita dapat mendedikasikan array. Operasi ini tidak rumit, cukup jalankan loop. Sekarang, yang ingin saya lakukan adalah menentukan apakah ada konten duplikat di array. Jika demikian, kembalikan benar. Jika tidak, kembalikan salah.
Ide
Ubah array menjadi string
Loop array asli, bandingkan setiap bidang dengan string ini untuk melihat apakah ada duplikasi
Bagaimana cara membandingkan string dengan string B dan string B dan meminta untuk menentukan bahwa string B berisi string?
Metode: indexOf () dan lastIndexOf () Metode perbandingan.
Pertama, kami membangun kode:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
Seperti disebutkan di atas, kita perlu menggunakan fungsi verifikasi arrrePeat (ARR) dan menjalankannya. Mari Bangun Fungsi Ini Di Bawah
fungsi arrrePeat (arr) {var arrstr = json.stringify (arr), str; for (var i = 0; i <arr.length; i ++) {if (arrstr.indexof (arr [i])! = arrstr.LastIndexof (arr [i])) {return true;}}; return false;}Oke, pelariannya berhasil.
Prinsipnya sangat sederhana, yaitu, apakah posisi kejadian pertama dan posisi kejadian terakhir dari bidang dalam array konsisten dalam string yang ditransformasikan dari array. Jika tidak konsisten, itu berarti rekursif ini muncul.
Metode 2 Match () Metode Perbandingan Reguler
Pertama, seperti di atas, kami membangun kode:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
Kemudian, kami membangun kembali fungsi arrrepeat (ARR)
fungsi arrrePeat (arr) {var arrstr = json.stringify (arr), str; for (var i = 0; i <arr.length; i ++) {if ((arrstr.match (regexp baru (arr [i], "g")). Panjang)> 1) {return true;}}; return false;}Prinsipnya adalah menemukan jumlah pengulangan yang ditentukan. Jika lebih besar dari 1, itu pasti akan diulang. Perhatikan bahwa ini dapat secara akurat mengetahui berapa kali muncul! Oleh karena itu, metode ini sebenarnya memiliki tujuan yang lebih luas.
Oke, pelarian berhasil lagi
Meringkaskan
Jika Anda hanya membandingkan metode pertama, itu sebenarnya cukup.
Metode kedua dapat menemukan jumlah waktu nyata yang muncul. Misalnya, jika Anda mengulangi 4 kali, Anda dapat menemukan 4. Pikirkan tentang tujuan spesifik sendiri.
Metode untuk membangun metode reguler yang berisi variabel RegExp baru (ARR [i], "g") juga diminta oleh orang lain.
Sebenarnya, apa yang saya pikirkan pertama adalah ide kedua. Masalah reguler bermasalah dengan waktu yang lama dan akhirnya menyelesaikannya. Hanya dengan begitu saya memikirkan ide pertama.
Di atas adalah dua metode (disarankan) untuk menilai konten duplikat dalam JavaScript yang diperkenalkan kepada Anda oleh editor (disarankan). Saya harap ini dapat membantu Anda!