将值推送到子数组

时间:2014-01-20 16:14:51

标签: jquery json push

我在使用.push()方面遇到了一些问题。我认为问题在于我如何定义我的变量。基本上,变量'cache'键与JSON中的data.system []不对应。我正在尝试使用此代码(缩写版本的代码)将数字推送到现有数组:

var cache = ['cpu','mem'];
function doAjax() {  /* toggled when ajax button pressed */
   $.getJSON( "ajax.php", function(data) {
       $.each(data.system, function(i, key) {
              console.log(cache.i); /* undefined logged */
              cache.i.push(key.value); /*Uncaught TypeError: Cannot call method 'push' of undefined */
       });
   });
}

JSON:

{
 system: {
   cpu: {
      value: 1
   },
   mem: {
      value: 330
   }
}
}

小提琴(我认为我没有正确设置JSON数据):http://jsfiddle.net/x9JaP/

1 个答案:

答案 0 :(得分:0)

也许你改变了这个:

var cache = ['cpu','mem'];

为此:

var cache[] = {'cpu','mem'};

和此:

console.log(cache.i);
cache.i.push(key.value);

为此:

console.log(cache[i]);
cache.push(key.value);

你可以有更多的运气。