ES6 中提供了新的數(shù)據(jù)結(jié)構(gòu) Set 。 它類似與數(shù)組徽诲,但是成員的值都是唯一的, 沒(méi)有重復(fù)的值。
const set = new Set();
[1,2,3,4,5,5,5,5].forEach(d => set.add(d));
console.log(set); //1,2,3,4,5 去掉多余的5
結(jié)果表明Set結(jié)構(gòu)不會(huì)添加重復(fù)的值谎替,利用Set這一特性實(shí)現(xiàn)數(shù)組去重
方法一偷溺、ES6語(yǔ)法去重
function dedupe(array){
return Array.from(new Set(array));
}
console.log(dedupe([1,2,3,4,5,5,5,5]));
方法二、常規(guī)去重
function dedupe(array){
var resultArr = [];
array.forEach(function(a){
if (resultArr.indexOf(a) < 0) {
resultArr.push(a);
}
})
return resultArr;
}
console.log(dedupe([1,2,3,4,5,5,5,5]));