整理了js陣列去重4種方法

2021-09-24 08:31:55 字數 1163 閱讀 6077

1.利用es6的iterable資料結構set

原理:es6 提供了新的資料結構 set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set 本身是乙個建構函式,用來生成 set 資料結構。

(利用的演算法類似'===',與'==='的區別是 『===』認為nan != nan ,set的演算法認為它們是相等的,但是set認為物件都是不相等的。)

const set = new set([1, 2, 3, 4, 4]);   [...set]   => [1, 2, 3, 4]複製**
array.from()可以將set結構轉成陣列。

distinct = (arr) =>

let arr = [2,1,3,5,1,2,4];

distinct(arr);

=> [2, 1, 3, 5, 4]複製**

2.利用排序

原理: 排序後,然後相鄰元素比較

distinct = (arr) =>

}return _arr;

}let arr = [2,1,3,5,1,2,4];

distinct(arr);

=>[1, 2, 3, 4, 5]

複製**

3.利用indexof,foreach

原理:利用foreach的三個引數和indexof()的第二個引數,在陣列中檢測該元素後方是否有與該元素相同的元素。

distinct = (arr) =>

})return _arr;

}let arr = [2,1,3,5,1,2,4];

distinct(arr);

=> [3, 5, 1, 2, 4] //1是後面的1,2也是後出現的2.複製**

4.利用splice

原理:splice()刪除元素,會改變原陣列。

distinct = (arr) =>  

} }

return arr;

}let arr = [2,1,3,5,1,2,4];

distinct(arr);

=>[2, 1, 3, 5, 4]複製**

js陣列去重的4種方法

js陣列去重,老生長談,今天對其進行一番歸納,總結出來4種方法 貼入 前 先對瀏覽器array物件進行支援indexof和foreach的polyfill 1 array.prototype.indexof array.prototype.indexof function item 6 7retur...

JS陣列物件去重(4種方法)

var arr 對陣列物件name進行去重處理,結果顯示為 方法一 es5氣泡排序法,去重arr var arr function deweight return arr var newarr deweight console.log c s color red 方法一 es5,newarr new...

js陣列去重五種方法

今天來聊一聊js陣列去重的一些方法,包括一些網上看到的和自己總結的,總共5種方法 es5 這種方法最簡單最直觀,也最容易理解,如下 var arr 2,8,5,0,5,2,6,7,2 var newarr for var i 0 i arr.length i console.log newarr 結...