这是当前的 JSON 文件:
[{
"name": "Peter",
"age": 30,
"hair color": "brown"
}, {
"name": "Steve",
"age": 55,
"hair color": "blonde"
}, {
"name": "Steve",
"age": 55,
"hair color": "blonde"
}]
我想从列表中删除重复的史蒂夫个人。如何创建一个新的 JSON 来检查对象的名称是否匹配并删除 JavaScript 中的任何重复项?
最佳答案
您必须将 JSON 数据加载到程序中并使用 JSON.parse
进行解析。 , 像这样
var array = JSON.parse(content.toString())
为了从 Objects 数组中过滤掉重复的名称,我们使用
Array.prototype.filter
功能。您可以将名称存储在一个对象中,下次出现相同名称时,我们只需将其从结果中过滤掉。var seenNames = {};
array = array.filter(function(currentObject) {
if (currentObject.name in seenNames) {
return false;
} else {
seenNames[currentObject.name] = true;
return true;
}
});
console.log(array);
# [ { name: 'Peter', age: 30, 'hair color': 'brown' },
# { name: 'Steve', age: 55, 'hair color': 'blonde' } ]
关于javascript - 从 JavaScript 中的 JSON 文件中删除重复对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22614275/