Rumah  >  Artikel  >  hujung hadapan web  >  Mengesyorkan dua kaedah untuk menyahduplikasi kemahiran arrays_javascript JavaScript

Mengesyorkan dua kaedah untuk menyahduplikasi kemahiran arrays_javascript JavaScript

WBOY
WBOYasal
2016-05-16 15:06:361430semak imbas

1. Deduplikasi tatasusunan; Jenis Tatasusunan tidak menyediakan kaedah untuk mengalih keluar pendua Jika anda ingin mengalih keluar elemen pendua daripada tatasusunan, anda perlu mencari jalan sendiri:

Kaedah 1: Gunakan kaedah indexOf;

var aa=[1,3,5,4,3,3,1,4]
function arr(arr) {
  var result=[]
  for(var i=0; i<arr.length; i++){
    if(result.indexOf(arr[i])==-1){
      result.push(arr[i])
    }
  }
  console.log(result)
}      
arr(aa)
Kaedah 2:

function unique(arr) {
  var result = [], isRepeated;
  for (var i = 0, len = arr.length; i < len; i++) {
    isRepeated = false;
    for (var j = 0, len = result.length; j < len; j++) {
      if (arr[i] == result[j]) {  
        isRepeated = true;
        break;
      }
    }
    if (!isRepeated) {
      result.push(arr[i]);
    }
  }
  return result;
}
Kaedah 2,

Idea umum adalah untuk memindahkan elemen tatasusunan ke tatasusunan lain satu demi satu Semasa proses pemindahan, semak sama ada elemen itu diduakan, dan jika ya, buang terus. Seperti yang dapat dilihat dari gelung bersarang, kaedah ini sangat tidak cekap. Kita boleh menggunakan struktur hashtable untuk merekod elemen sedia ada, supaya kita boleh mengelakkan gelung dalaman. Kebetulan melaksanakan jadual hash dalam Javascript adalah sangat mudah

Dua kaedah yang disyorkan di atas untuk menyahduplikasi tatasusunan JavaScript adalah semua kandungan yang dikongsi oleh editor. Saya harap ia boleh memberi anda rujukan, dan saya harap anda akan menyokong Script Home.
Kenyataan:
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