下面的方法是我爱模板网在做项目时,遇到数组去重,从网上“剽窃”的一个方法,利用了js reduce巧妙地去重:
假设有一组包含对象的数组:
var arr = [{name:'张飞2'},{name:'张飞2'},{name:'张飞2'},{name:'张飞2'},{name:'李飞5'},{name:'李飞6'},{name:'李飞7'}]
里面有多个重复项,要将这些重复项都去除:
function unique(params,arr) {
let obj = {}
arr = arr.reduce((item, next) => {
obj[next[params]] ? '' : obj[next[params]] = true && item.push(next);
return item;
},[])
return arr;
}
console.log(unique('name',arr)); //[{name:'张飞2'},{name:'李飞5'},{name:'李飞6'},{name:'李飞7'}] 