嵌套动态对象

时间:2013-03-22 12:51:02

标签: javascript object

我一直有这方面的问题,我只是没有实现正确的技术。它有点具体,所以到目前为止我在线追踪解释时遇到了麻烦。好的,这是:

我循环遍历一个大的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";

为我的所有类别对象添加测试,而不仅仅是第一个。谁能告诉我为什么?

1 个答案:

答案 0 :(得分:1)

  

为我的所有类别对象添加测试,而不仅仅是第一个。谁能告诉我为什么?

它将msg属性添加到一个 items对象,该对象是列表中所有对象的引用。如果您想要独特的对象,请使用

    list.push({name: category,info: 0, items: {}});

代替。