Rumah hujung hadapan web tutorial js Ringkasan kaedah penyahduplikasian tatasusunan js_kemahiran javascript

Ringkasan kaedah penyahduplikasian tatasusunan js_kemahiran javascript

May 16, 2016 pm 03:48 PM
Deduplikasi tatasusunan

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;
 }
Salin selepas log masuk

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;
 }

Salin selepas log masuk

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;
 }
Salin selepas log masuk

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;
 }

Salin selepas log masuk

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}

Salin selepas log masuk

Elemen baharu

>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}//重复元素不会被添加

Salin selepas log masuk

Padam elemen

s; // Set {1, 2, 3, 4}
s.delete(3);
s; // Set {1, 2, 4}

Salin selepas log masuk

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);
}

Salin selepas log masuk

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);
});
Salin selepas log masuk

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tentukan asas untuk mengalih keluar elemen pendua apabila menyahduplikasi tatasusunan PHP Tentukan asas untuk mengalih keluar elemen pendua apabila menyahduplikasi tatasusunan PHP Apr 28, 2024 pm 10:48 PM

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.

Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam es5 dan es6 Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam es5 dan es6 Jan 16, 2023 pm 05:09 PM

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.

Bagaimana untuk mengekalkan korespondensi nilai kunci selepas penyahduplikasian dalam tatasusunan PHP? Bagaimana untuk mengekalkan korespondensi nilai kunci selepas penyahduplikasian dalam tatasusunan PHP? Apr 27, 2024 pm 12:33 PM

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 nilai nol apabila menyahduplikasi tatasusunan PHP Petua untuk mengendalikan nilai kosong dan nilai nol apabila menyahduplikasi tatasusunan PHP Apr 26, 2024 pm 05:03 PM

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.

Bagaimana untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu dalam PHP? Bagaimana untuk mengalih keluar pendua daripada tatasusunan berdasarkan pasangan nilai kunci tertentu dalam PHP? Apr 28, 2024 pm 06:18 PM

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.

Bagaimana untuk mengecualikan tatasusunan pendua dalam PHP Bagaimana untuk mengecualikan tatasusunan pendua dalam PHP Jun 05, 2023 pm 02:53 PM

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.

Bagaimana untuk mengalih keluar pendua daripada tatasusunan javascript Bagaimana untuk mengalih keluar pendua daripada tatasusunan javascript Sep 07, 2021 pm 05:59 PM

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.

Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dalam php Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dalam php May 25, 2023 pm 05:19 PM

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.

See all articles