【发布时间】:2021-04-12 05:58:53
【问题描述】:
最初我有这个 json,我需要在“名称”中留下:[] 只有那些名称不重复的对象
{
"type": "city",
"names": [
{
"name": "Citi1",
"index": 0,
"names": [
0,
1,
4
]
},
{
"name": "Citi1",
"index": 1,
"names": [
0,
1,
4
]
},
{
"name": "Citi2",
"index": 2,
"names": [
2,
3
]
},
{
"name": "Citi1",
"index": 4,
"names": [
0,
1,
4
]
}
]
如何从 ["names"] 数组中删除带有重复 "name" 的对象?
例如,我需要删除 citi1 重复的对象,只保留其中 1 个 预期对象
{
"type": "city",
"names": [
{
"name": "Citi1",
"index": 0,
"names": [
0,
1,
4
]
},
{
"name": "Citi2",
"index": 2,
"names": [
2,
3
]
},
]
我尝试过的代码
for(let i = 0; i < queueTypes.length; i++){
queueTypes[i]["names"].forEach( function (item, index) {
let tmpIndex = index;
for(let j = 0; j < queueTypes[i]["names"].length; j++){
if(queueTypes[i]["names"][j].name == item.name){
if( tmpIndex != j ){
delete queueTypes[i]["names"][j]
}
}
}
});
}
试图遍历这个数组并检查名称是否相同,但索引与我正在检查的元素不匹配
【问题讨论】:
-
到目前为止你尝试过什么?请向我们展示您的尝试
标签: javascript json for-loop object