我一直有这方面的问题,我只是没有实现正确的技术。它有点具体,所以到目前为止我在线追踪解释时遇到了麻烦。好的,这是:
我循环遍历一个大的json对象并创建第二个对象,其中包含我想要在以后使用的信息的对象。
items = {};
$(data).each(function () {
i = 0;
$(list).each(function () {
if (list[i]["name"] === category) {
add = false;
}
i++;
});
if (add === true) {
list.push({name: category,info: 0, items: items});
}
我的问题是当我尝试将项目添加到特定类别的项目时,它会将其添加到所有类别中,因此:
list[0]["items"]["msg"] = "Test";
为我的所有类别对象添加测试,而不仅仅是第一个。谁能告诉我为什么?
答案 0 :(得分:1)
为我的所有类别对象添加测试,而不仅仅是第一个。谁能告诉我为什么?
它将msg
属性添加到一个 items
对象,该对象是列表中所有对象的引用。如果您想要独特的对象,请使用
list.push({name: category,info: 0, items: {}});
代替。