Deduplikasi array adalah persyaratan umum, dan kami untuk sementara mempertimbangkan array dari jenis yang sama untuk deduplikasi. Hal utama adalah untuk mengklarifikasi ide -ide dan mempertimbangkan kinerjanya. Metode berikut pada dasarnya tersedia online, dan saya hanya akan merangkumnya secara singkat di sini.
Ide:
1. Iterasi melalui array, bandingkan satu per satu, dan hapus yang berikut setelah perbandingan dengan yang sama.
2. Iterasi di atas array, bandingkan satu per satu, bandingkan dengan yang sama, lewati yang diulang sebelumnya, dan masukkan ke dalam array baru jika berbeda.
3. Ambil elemen array apa pun ke dalam array baru, lintasi elemen array yang tersisa, bandingkan dengan elemen array baru satu per satu. Jika ada perbedaan, masukkan ke dalam array baru.
4. Iterasi di atas array, ambil elemen, sebagai atribut objek, dan tentukan apakah atribut ada
1. Hapus duplikat setelahnya:
fungsi ov1 (arr) {// var a1 = ((tanggal baru) .getTime ()) untuk (var i = 0; i <arr.length; i ++) untuk (var j = i+1; j <arr.length; j ++) if (arr [i] === arr [j]) {arr.splice (j, 1); j-j-j-jon; Tanggal) .gettime ()-a1) return arr.sort (function (a, b) {return ab});}2. Ini adalah metode konvensional, yang lebih mudah dipahami. Jika sama, loop akan pecah.
fungsi ov2 (a) {// var a1 = ((tanggal baru) .getTime ()) var b = [], n = a.length, i, j; untuk (i = 0; i <n; i ++) {for (j = i+1; j <n; j ++) if (a [i] === a [j]) {j = false; break;} if (j) b.push (a [i]); } //console.info(( tanggal baru) .gettime ()-a1) return b.sort (function (a, b) {return ab});}3. Butuh waktu lama untuk memahami hal ini. Meskipun J Loop berlanjut di sini, nilai I telah berubah. Ini setara dengan I Loop yang baru:
fungsi ov3 (a) {// var a1 = ((tanggal baru) .getTime ()) var b = [], n = a.length, i, j; untuk (i = 0; i <n; i ++) {for (j = i+1; j <n; j ++) if (a [i] === a [j]) j = ++ i b.push (a [i]);} //console.info(( tanggal).4. Pastikan semua array baru itu unik
fungsi ov4 (ar) {// var a1 = ((tanggal baru) .gettime ()) var m = [], f; untuk (var i = 0; i <ar.length; i ++) {f = true; untuk (var j = 0; j <m.length; j ++) if (ar [i] === m [j]) {f = false; break;}; if (f) m.push (ar [i])} // console.info ((tanggal baru) .gettime ()-a1) return m.sort (fungsi (a, b) {return ab});}5. Gunakan properti objek
function ov5(ar){// var a1=(new Date).getTime()var m,n=[],o= {};for (var i=0;(m= ar[i])!==undefined;i++)if (!o[m]){n.push(m);o[m]=true;}// console.info((new Date).getTime()-a1) return n.sort (function (a, b) {return ab}) ;;}Rekomendasi di atas untuk menghapus nilai duplikat dalam array JavaScript adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.