1
storeChildren : function(coreid, data) {
  $.each(data, function(id, type) {
    $.core.children[coreid] = {};
    $.core.children[coreid]['id'] = id;
    $.core.children[coreid]['type'] = type;
  });
}

($.core.children 是一个对象)

我希望得到的数组/对象(我更喜欢对象)看起来像这样(请原谅我的 PHP 伪代码):

array(coreid => array(id=>type, id=>type, id=>type));

我知道每次运行循环时我都会覆盖 $.core.children[coreid] 我只是不知道如何修复它。

4

2 回答 2

2

如果您所有的 'id's 都是唯一的,则以下内容应该有效;这就是你所追求的吗?

storeChildren : function(coreid, data) {
  $.core.children[coreid] = {};
  $.each(data, function(id, type) {
    $.core.children[coreid][id] = type;
  });
}
于 2012-04-07T04:42:23.327 回答
0
init: function() {
    $.core.children = []; // instantiate array
},

storeChildren : function(coreid, data) {

    $.each(data, function(id, type) {
        $.core.children[coreid] = {id : type};
    });
}

在代码中的其他位置实例化对象,然后您就不会每次都杀死关联数组/对象。上面的示例还在您的数组中使用了一个对象而不是数组,结果,在 JSON 表示法中,如下所示:

[ {key,value} , {key,value} , {key,value} , ...]

coreid 是数组的索引。

于 2012-04-07T04:45:16.800 回答