JS数组对象去重
数组中的元素为对象时的去重方法
方法一:使用lodash库
let arr = [
{
name: 'kobe',
age: 42
},
{
name: 'james',
age: 36
},
{
name: 'kobe',
age: 42
},
{
name: 'wade',
age: 35
},
{
name: 'curry',
age: 32
},
{
name: 'curry',
age: 32
}
]
_.uniqBy(arr, 'name');
方法二:
let arr = [
{
name: 'kobe',
age: 42
},
{
name: 'james',
age: 36
},
{
name: 'kobe',
age: 42
},
{
name: 'wade',
age: 35
},
{
name: 'curry',
age: 32
},
{
name: 'curry',
age: 32
}
]
function uniqueArr1(arr){
if(!Array.isArray(arr)) return
let obj = {}
let result = []
for(let item of arr) {
if(!obj[item.name]){
result.push(item)
obj[item.name] = true
}
}
return result
}
const res1 = uniqueArr1(arr1)
console.log(res1);