【发布时间】:2018-01-16 08:30:19
【问题描述】:
我有一个数组对象调用 listOfObjects。
[{"name":"A", "data":"[{"value1":"1","value2":"2"}]"},
{"name":"B", "data":"[{"value1":"1","value2":"2"}]"}]
我想要做的是将一个对象插入到数组为空的数组中。如果数组不为空,则检查里面的项目。如果项目已经存在,请更新项目,否则将其添加到数组中。下面是我的代码
var searchName= "A";
if (listOfObjects.length > 0) {
for (var i = 0; i < listOfObjects.length; i++) {
if (listOfObjects[i].name == searchName) {
listOfObjects[i].data = data;
break;
} else {
insert = {
'name': searchName,
'data': data
};
listOfObjects.push(insert);
}
}
} else {
insert = {
'name': searchName,
'data': data
};
listOfObjects.push(insert);
}
当我运行它时,即使 A 已经存在,它也会更新现有项目,但还会在 listOfObjects 中再添加一次。反正有没有可以实现我想要的?谢谢..
【问题讨论】:
-
您已将内部数组包装在
""中,这意味着它是字符串而不是数组
标签: javascript arrays arrayobject