- json数据
let json = [{
name: '小明',
age: 20
}, {
name: '小明',
age: 12
}, {
name: '小刚',
age: 20
}, {
name: '小刚',
age: 25
}];
- 方法
/*
* JSON数组去重
* a:json
* f:json字段名
*/
function removalHeavy(a, f) {
let n = [],
e = [];
for (let i = 0; i < a.length; i++) {
if (n.indexOf(a[i][f]) === -1) {
n.push(a[i][f]);
e.push(a[i]);
}
}
return e;
}
// 方法二:filter
function removalHeavy(array, str) {
let strs = [];
return array.filter(item => {
if(strs.indexOf(item[str]) === -1) {
strs.push(item[str])
return item;
}
})
}
- 实例
根据name
去重
let newJson = removalHeavy(json, 'name');
console.log(newJson);
根据 age
去重
let newJson = removalHeavy(json, 'age');
console.log(newJson);