下面的方法是我爱模板网在做项目时,遇到数组去重,从网上“剽窃”的一个方法,利用了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'}]