现在有这样对象数组,我只想根据姓名对数组进行去重
var arr=[
{
"id": "1",
"name": "王小虎"
},
{
"id": "2",
"name": "王小虎"
},
{
"id": "3",
"name": "王小虎"
},
{
"id": "4",
"name": "赵晓红"
},
{
"id": "5",
"name": "赵晓红"
},
{
"id": "6",
"name": "张文霞"
}
]
/**
* 根据对象的一个属性值对数组去重
* @param arr 数组
* @param attrName 属性名
* @returns Array去重后的新数组
*/
function unique(arr, attrName) {
const res = new Map();
return arr.filter((a) => !res.has(a[attrName]) && res.set(a[attrName], 1));
}
$(function(){
console.log(unique(arr,'name'));
})