te = [ { “名称”:“巴拉”, “ phone”:“无” }, { “名称”:“巴拉”, “ phone”:“无” }, { “名称”:“巴拉”, “ phone”:“无” }, { “名称”:“巴拉”, “ phone”:“无” } ]
答案 0 :(得分:0)
从对象数组中删除重复的子代值
childrens = childrens.filter((children, index, self) =>
index === self.findIndex((t) => (
t.value === children.valuee
))
)
答案 1 :(得分:0)
我假设您只是想遍历结构并找到不同级别的重复项。这不是最佳解决方案,但它可以工作: 检查JSON中的每个条目/节点
遍历所有实体/节点,检查它们是否具有“值”字段
如果它是唯一的实体/节点,则推送到数组以跟踪 唯一键。
如果它不是唯一键,请继续遍历,但要顺便 返回将其删除。
函数delete
似乎在已删除的实体/节点上放置了空值。
函数之后,我将JSON转换为字符串,然后删除所有"nulls,"
和",nulls,"
let json = yourJson;
let uniqueValues = [];
let jsonWithoutDuplicates = removeDuplicates(x);
jsonWithoutDuplicates = JSON.stringify(jsonWithoutDuplicates)
.replace(/null,/g,'')
.replace(/,null,/g,',');
console.log(jsonWithoutDuplicates) // you can convert it back to json if you want
function removeDuplicates(json) {
for (var i in json) {
if (json[i] !== null && typeof(json[i]) === "object") {
let objValue = json[i].value;
if(objValue){
if(uniqueValues.indexOf(objValue) === -1){
uniqueValues.push(objValue);
removeDuplicates(json[i]);
}else{
removeDuplicates(json[i]);
delete json[i]
}
}else{
removeDuplicates(json[i]);
}
}
}
return json;
}