


Ringkasan kaedah penyahduplikasian tatasusunan js_kemahiran javascript
Tiga kaedah
Gunakan indexOf untuk menentukan tatasusunan baharu
Indeks yang serupa
sebenarnya digunakan dalam underscore.js
//传入数组 function unique1(arr){ var tmpArr = []; for(var i=0; i<arr.length; i++){ //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if(tmpArr.indexOf(arr[i]) == -1){ tmpArr.push(arr[i]); } } return tmpArr; }
Gunakan indexOf untuk menentukan tatasusunan lama
function unique2(arr){ var tmpArr = []; //结果数组 for(var i=0; i<arr.length; i++){ //如果当前数组的第i项在当前数组中第一次出现的位置不是i, //那么表示第i项是重复的,忽略掉。否则存入结果数组 if(arr.indexOf(arr[i]) == i){ tmpArr.push(arr[i]); } } return tmpArr; }
Gunakan cincang untuk mencari
Pelaksanaan objek JS yang digunakan di sini ialah ciri-ciri jadual cincang
function unique3(arr){ var tmpArr = [], hash = {};//hash为hash表 for(var i=0;i<arr.length;i++){ if(!hash[arr[i]]){//如果hash表中没有当前项 hash[arr[i]] = true;//存入hash表 tmpArr.push(arr[i]);//存入临时数组 } } return tmpArr; }
Peluasan tatasusunan
Array.prototype.unique1 = function (){ var tmpArr = []; for (var i = 0; i < this.length; i++){ if (tmpArr.indexOf(this[i]) == -1){ tmpArr.push(this[i]); } } return tmpArr; } Array.prototype.unique2 = function(){ var tmpArr = []; //结果数组 for(var i = 0; i < this.length; i++){ if (this.indexOf(this[i]) == i){ tmpArr.push(this[i]); } } return tmpArr; } Array.prototype.unique3 = function(){ var tmpArr=[], hash = {}; for(var i = 0; i < this.length; i++){ if (!hash[this[i]]){ hash[this[i]] = true; tmpArr.push(this[i]); } } return tmpArr; }
Set Guna
Set dan Peta ialah struktur data baharu dalam ES6
Set boleh menyimpan terus set bukan pendua kunci ini juga boleh menjadi objek, rentetan, dsb.
Buat set
var s = new Set([1, 2, 3,]); s; // Set {1, 2, 3}
Elemen baharu
>>> s.add(4) >>> s {1, 2, 3, 4} >>> s.add(4) >>> s {1, 2, 3, 4}//重复元素不会被添加
Padam elemen
s; // Set {1, 2, 3, 4} s.delete(3); s; // Set {1, 2, 4}
Unsur lintasan
Peta dan Set tidak boleh menggunakan subskrip
Piawaian ES6 memperkenalkan jenis lelaran baharu, Peta dan Set semuanya tergolong dalam jenis boleh lelar
var s = new Set(['A', 'B', 'C']); for (var x of s) { // 遍历Set alert(x); }
Atau terus gunakan kaedah terbina dalam iterable untukSetiap
Kaedah forEach diperkenalkan oleh standard ES5.1
var s = new Set(['A', 'B', 'C']); s.forEach(function (element, set) { alert(element); });
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Fungsi array_unique() PHP digunakan untuk mengalih keluar elemen pendua daripada tatasusunan Secara lalai, kesamaan ketat (===) digunakan. Kami boleh menentukan asas untuk penyahduplikasian melalui fungsi perbandingan tersuai: buat fungsi perbandingan tersuai dan tentukan standard deduplikasi (contohnya, berdasarkan panjang elemen lulus fungsi perbandingan tersuai sebagai parameter ketiga kepada fungsi array_unique(). elemen pendua berdasarkan kriteria yang ditetapkan.

Dalam es5, anda boleh menggunakan fungsi for dan indexOf() untuk mencapai deduplikasi tatasusunan Sintaks "for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if(. a== -1){...}}". Dalam es6, anda boleh menggunakan operator spread, Array.from() dan Set untuk mengalih keluar penduaan anda perlu terlebih dahulu menukar tatasusunan menjadi objek Set untuk mengalih keluar pendua, dan kemudian menggunakan fungsi spread atau Array.from() untuk tukar objek Set kembali kepada kumpulan Just.

Kaedah untuk mengekalkan korespondensi nilai kunci selepas penyahduplikasi tatasusunan PHP termasuk: gunakan fungsi array_unique() untuk mengalih keluar nilai pendua, dan kemudian gunakan fungsi array_flip() untuk menukar pasangan nilai kunci. Gabungkan tatasusunan asal dengan tatasusunan pendua, dan gunakan kaedah penggabungan tatasusunan untuk mengekalkan surat-menyurat nilai kunci.

Petua untuk mengendalikan nilai kosong dan nol semasa menyahduplikasi tatasusunan PHP: Gunakan array_unique dengan array_filter untuk menapis nilai kosong dan nol. Gunakan array_unique dan tentukan fungsi perbandingan tersuai untuk menganggap nilai kosong dan nol sebagai sama. Gunakan array_reduce untuk mengulangi tatasusunan dan tambah item jika ia tidak mengandungi nilai kosong atau nol.

Dalam PHP, gunakan fungsi array_unique() untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu. Apabila memanggil fungsi, masukkan tatasusunan sebagai parameter dan pilih kaedah pengisihan sebagai parameter kedua. Fungsi ini mengembalikan tatasusunan baharu yang pendua telah dialih keluar berdasarkan pasangan nilai kunci yang ditentukan.

Kaedah untuk mengecualikan tatasusunan pendua dalam PHP: 1. Cipta fail contoh PHP 2. Takrifkan tatasusunan yang akan dinyahduplikasi sebagai "$oldArr" dan tatasusunan baharu selepas penyahduplikasian sebagai "$newArr" 3. Gunakan "array_unique()" The fungsi mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan penduaan Kodnya ialah "$newArr = array_unique($oldArr);" untuk menghapuskan elemen pendua.

Kaedah: 1. Gunakan pernyataan "[...new Set(arr)]" 2. Gunakan pernyataan "Array.from(new Set(arr))" 3. Gunakan fungsi penapis dan indexOf; double for loops , semak sama ada nilai diduplikasi, dan jika terdapat pendua, gunakan push() untuk memadamkannya.

Cara mengalih keluar elemen pendua dalam tatasusunan dalam PHP: 1. Gunakan fungsi "array_unique()" untuk mengalih keluar data pendua dalam tatasusunan 2. Melintasi gelung foreach dan tentukan tatasusunan baharu untuk menyimpan data bukan pendua untuk mencapai penyahduplikasi; ; 3. Gunakan fungsi array_flip() dan array_keys() untuk mendapatkan tatasusunan yang dinyahduplikasi 4. Gunakan fungsi array_filter() untuk menyahduplikasi tatasusunan asal dengan menggunakan fungsi ini dalam kombinasi dengan fungsi tanpa nama.
