【发布时间】:2016-01-05 11:24:20
【问题描述】:
给定以下嵌套对象数组:
var existingArray = [{
"content": {
"host": {
"name": "Mia"
}
},
}, {
"content": {
"host": {
"name": "Annie"
}
},
}, {
"content": {
"host": {
"name": "Mia"
}
},
,
{
content: {
host: {
name: "Oscar"
}
},
},
{
"content": {
"host": {
"name": "Annie"
}
},
},
{
"content": {
"host": {
"name": "Mia"
}
},
},
{
"content": {
"host": {
"name": "Annie"
}
},
}
];
如果它们匹配,我将如何修改对象的名称值——以区分它们?
要产生一个新的数组,如:
var existingArray = [{
"content": {
"host": {
"name": "Mia"
}
},
}, {
"content": {
"host": {
"name": "Annie"
}
},
}, {
"content": {
"host": {
"name": "Mia_2"
}
},
,
{
content: {
host: {
name: "Oscar"
}
},
},
{
"content": {
"host": {
"name": "Annie_2"
}
},
},
{
"content": {
"host": {
"name": "Mia_3"
}
},
},
{
"content": {
"host": {
"name": "Annie_3"
}
},
}
];
我需要保持数组的结构几乎相同——只需更新重复的名称值。
我需要这个的原因是因为我正在使用一个插件来检查重复的名称,然后将它们组合起来(方法或原因太复杂,无法在此处发布。)
【问题讨论】:
-
你有没有尝试过?
-
这很简单,你有没有尝试过?
-
老实说,我已经工作了好几天而且很累——因此很懒惰并发布了这个。希望有人能快速回答。
-
建议:循环每个名字并不断添加到一个新的数组中。
existingArray中的每个名称你检查临时数组,如果它已经插入那里,从existingArray更改名称添加_ count+1,如果它不在临时数组中,添加到它并转到下一个名称。
标签: javascript arrays object