2015-02-11 41 views
-3

我需要构建一个多维数组看起来就像下面的for循环的JavaScript多维数组格式

var dataSet = [ 
       {color: '#ff00aa', data: [[0,3533]]}, 
       {color: 'red', data: [[1,3325]]}, 
       {color: 'yellow', data: [[2,3003]]}, 

      ]; 

动态我需要的价值推到数据集的数组。我曾试图与下面的代码

for(var j=0;j<chartDataArray.length;j++){ 
     dataSet.push({ 
      "color" : 'red', 
      "data" : [[0,3533]] 
     }); 
} 

其工作正常,但如果我做一些动态值添加到数据变量则给出了一个错误。请找到下面的代码

for(var j=0;j<chartDataArray.length;j++){ 
     dataSet.push({ 
      "color" : 'red', 
      "data" : [[chartDataArray[j]]] 
     }); 
     } 
+2

这是一个测验,我们需要猜测_what_错误他得到... – 2015-02-11 11:06:49

+0

@somethinghere没有。 – 2015-02-11 11:07:27

+0

@axelamthor Woops – somethinghere 2015-02-11 11:07:54

回答

0

比方说

chartDataArray = [ 
        [0, 533] 
       ]; 

,如果你推你的方式,你会

[{ 
    "color" : 'red', 
    "data" : [[[0, 533]]] 
}] 

结束了一个额外的嵌套阵列ISN你想要什么。

在这种情况下,尝试:

for(var j=0;j<chartDataArray.length;j++){ 
     dataSet.push({ 
      "color" : 'red', 
      "data" : [chartDataArray[j]] 
     }); 
} 

如果它包含的数字,让我们说:

chartDataArray = [0, 533]; 

你最终会与

[{ 
    "color" : 'red', 
    "data" : [[0]] 
}, 
{ 
    "color" : 'red', 
    "data" : [[533]] 
}] 

这也不是什么你要。你必须成对推送数字。尝试:

for(var j=0;j<chartDataArray.length;j+=2){ 
     dataSet.push({ 
      "color" : 'red', 
      "data" : [[chartDataArray[j], chartDataArray[j+1]]] 
     }); 
} 
+0

谢谢,chartDataArray是一个数组,因此第一个为我工作。 – 2015-02-11 11:13:22

0

实在是太多了方括号 尝试[chartDataArray[j]]chartDataArray

{ 
[[0,3533]], 
[[1,3533]] 
} 
0

应包含的项目你有没有尝试使用:

var data = [[chartDataArray[j]]]; 
dataset[dataset.length]={ 
    "color" : 'red', 
    "data" : data 
} 

让我知道...