一、数组去重
1、第一种方式
使用ES6提供的Set数组结构特性,Set里面的值不重复即值唯一。
var oldArr = ['小红','小一','小二','小三','小红','小四','小无',];
var newArr = Array.from(new Set(oldArr))
console.log(newArr)
//['小红','小一','小二','小三','小四','小无']
解释说明:
首先,new Set(array) 创建了一个包含数组的集合,Set 集合会删除重复项。
因为 Set 集合是可迭代的,所以可以使用 Array.from() 将其转换为一个新的数组。
这样就实现了数组去重。
2、第二种方式
利用Set数组,配合展开运算符去重。
var oldArr = ['小红','小一','小二','小三','小红','小四','小无',];
var newArr = [...new Set(oldArr)]
console.log(newArr)
//['小红','小一','小二','小三','小四','小无']
二、对象数组去重
使用for循环,屡试不爽的方法
const arr = [{key:‘小明’},{key:‘小红’},{key:‘小红’},{key:‘小红’}];
const obj = {};
const newArr = [];
for(let i=0;i<objArr.length;i++){
if(!obj[objArr[i].key]){
newArr.push(objArr[i]);
obj[objArr[i].key] = true;
}
}
console.log(newArr);
return newArr
//newArr:[{key:‘小明’},{key:‘小红’}]