如何在JavaScript中以编程方式创建2D阵列



我想创建一个2D数组,如下

var seriesArray = [{
    name: 'Year 1800',
    data: [107, 31, 635, 203, 2]
}, {
    name: 'Year 1900',
    data: [133, 156, 947, 408, 6]
}, {
    name: 'Year 2000',
    data: [814, 841, 3714, 727, 31]
}, {
    name: 'Year 2016',
    data: [1216, 1001, 4436, 738, 40]
}];

要查看示例单击此处

我正在做什么来创建此类数组

var continents = ['Africa', 'America', 'Asia', 'Europe', 'Oceania']
var years = [1800, 1900, 2000, 2016];
for (var i = 0; i < years.length; i++) {
    var data = [];
    for (var j = 0; j < continents.length; j++) {
        data.push(10);
    }
    seriesArray.push([years[i], data]);
}

在图表上没有显示任何内容。我是在创建阵列吗?还有其他方法吗?

在这里,系列array数据的屏幕截图,我认为我的数组不是关联的数组,谁能告诉我如何执行此操作?

您误犯了循环。而且您必须这样构建您的行:

var continents = ['Africa', 'America', 'Asia', 'Europe', 'Oceania']
var years = [1800, 1900, 2000, 2016];
for (var i = 0; i < continents.length; i++) {
    var data = [];
    for (var j = 0; j < years.length; j++) {
        data.push(10);
    }
    var row={};
    row['year']=years[i];
    row['data']=data;
    seriesArray.push(row);
}

希望它有帮助

最新更新