//根据 name 和 age 去重
var tmp = [{
"id": 1,
"name": "小明", //与id为2的重复
"age": "12"
},
{
"id": 2,
"name": "小明",
"age": "15", //与id为3的重复(但是因为name 已经和id为1的重复了 ,
实际上已经排除不会再参与 age的去重)
},
{
"id": 3,
"name": "小红",
"age": "15",
},
{
"id": 4,
"name": "小张",
"age": "20",
}
]
var result = [];
var hash = {};
var hash_ = {}
for (var i = 0; i < tmp.length; i++) {
var elem = tmp[i].name;
var elem_ = tmp[i].age;
if (!hash[elem]) {
if (!hash_[elem_]) {
result.push(tmp[i]);
hash_[elem_] = true;
};
hash[elem] = true;
}
}
console.log(result)
[{
"id": 1,
"name": "小明",
"age": "12"
}, {
"id": 3,
"name": "小红",
"age": "15",
}, {
"id": 4,
"name": "小张",
"age": "20",
}]