现在总结了4中方法,先记下来
1. 新建对象和空数组
循环时,取出一个元素与对象对比,不重复则放进新数组里,并把这个元素的内容作为对象属性,并赋值为1
var obj = {};
arr.forEach((val)=>{
if(!obj[val]){
obj[val]=1;
newArr.push(val)
}else{
obj[val]++;
}
})
console.log(newArr)
2.空数组
利用indexOf,循环时判断元素是否在新数组里,如果不在,则放进新数组
arr.forEach(val => {
if(newArr1.indexOf(val)<0){
newArr1.push(val)
}
})
console.log(newArr1)
3.过滤
利用filter和indexOf,过滤函数里判断元素的索引是否相等,如相等,则返回
var newArr2;
newArr2 = arr.filter((val,index,self)=>{
return self.indexOf(val)==index
})
console.log(newArr2)
4.set
利用es6的set,超级好用,再用Array.from转回来
var newArr3 = Array.from(new Set(arr))
console.log(newArr3)