1、数组去重(filter)
-
- var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
- var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)
- console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]
2、数组去重(set())
- var arr=[1,2,1,'1',null,null,undefined,undefined,NaN,NaN]
- let res=Array.from(new Set(arr));//{1,2,"1",null,undefined,NaN}
- //or
- let newarr=[...new Set(arr)]
3、数组对象去重
- let person = [
- {id: 0, name: "小明"},
- {id: 1, name: "小张"},
- {id: 2, name: "小李"},
- {id: 3, name: "小孙"},
- {id: 1, name: "小周"},
- {id: 2, name: "小陈"},
- ];
-
- let obj = {};
- //设置cur默认类型为数组,并且初始值为空的数组
- let peon = person.reduce((cur,next) => {obj[next.id] ? "" : obj[next.id] = true && cur.push(next);return cur;},[])
- console.log(peon);