一个数组中的每一项都是对象,现在需要将这个对象中id相同的只保留一个,即根据id去重,通过以上方法可实现
var person = [
{ id: 0, name: "小明" },
{ id: 1, name: "小张" },
{ id: 2, name: "小李" },
{ id: 3, name: "小孙" },
{ id: 1, name: "小周" },
{ id: 2, name: "小陈" },
];
var obj = {};
person = person.reduce((cur, next) => {
obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
return cur;
}, []) //设置cur默认类型为数组,并且初始值为空的数组
console.log(person);
同上的情况,遍历数组每一项,判断如果 TeamA和TeamB完全一样,则去重,去掉一个,可以有两种方法
var arr = [{
TeamA: '01',
TeamB: '02',
value: '乐乐'
}, {
TeamA: '01',
TeamB: '02',
value: '博博'
}, {
TeamA: '01',
TeamB: '03',
value: '淘淘'
}, {
TeamA: '03',
TeamB: '04',
value: '哈哈'
}, {
TeamA: '03',
TeamB: '05',
value: '乐乐'
}, {
TeamA: '02',
TeamB: '05',
value: '乐乐'
}, {
TeamA: '03',
TeamB: '06',
value: '乐乐'
}];
//方法一:
var obj = {};
var newArr = [];
arr.forEach(item => {
if (!obj[item.TeamA + item.TeamB]) {
obj[item.TeamA + item.TeamB] = 1
newArr.push(item)
}
})
console.log(newArr)
//方法二:
var allArr=[];
for(var i=0;i
let arr = [1, 2, 2, 3];
let set = new Set(arr);
let newArr = Array.from(set); // Array.from方法可以将 Set 结构转为数组。
console.log(newArr); // [1, 2, 3]
也可以改写成以下方式
var newarr = [1, 2, 2, 3];
var arr = Array.from(new Set(newarr));
//拿到的这个arr就是去重后的结果为[1,2,3]