ES6 中提供了新的数据结构 Set 。 它类似与数组,但是成员的值都是唯一的, 没有重复的值。
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
结果表明Set结构不会添加重复的值,利用Set这一特性实现数组去重
方法一、ES6语法去重
function dedupe(array){
return Array.from(new Set(array));
}
console.log(dedupe([1,2,3,4,5,5,5,5]));
方法二、常规去重
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]));
网友评论