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 結...