Javascript多维数组格式

Javascript multidimensional array format

本文关键字:格式 数组 Javascript      更新时间:2023-09-26

我需要在for循环中构造一个多维数组,如下所示

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

动态地,我需要将值推送到dataSet数组。我已经尝试了以下代码

 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]]]
        });
        }

方括号太多尝试[chartDataArray[j]]chartDataArray应包含类似的项目

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

比方说

chartDataArray = [
                     [0, 533]
                 ];

如果你按你的方式推,你最终会得到

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

使用一个额外的嵌套数组,这不是您想要的。

在这种情况下,请尝试:

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]]]
        });
}

您是否尝试使用:

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

让我知道。。。