我有一个看起来像的二维数组:
var example = [['Version', 'Number'], [ 'V1.0', 1 ], [ 'V2.0', 2 ]];
我想遍历数组并取出'V1.0'和'V2.0'并将它们存储在自己的新数组中,并为'1'和'2'执行相同操作。我需要打破数据以便与Chart.js一起使用
我的循环看起来像这样:
var labels = [];
var data = [];
for (var i=0; i<example.length; i++) {
labels.push = (example[i][0]);
}
for (var j=0; j<example.length; j++) {
data.push = (example[0][j]);
}
我不知道如何正确地将这两个元素放入他们自己的数组中以供以后使用。
答案 0 :(得分:4)
您可以使用map
执行此操作,并使用shift
结果删除第一次出现。
var example = [
['Version', 'Number'],
['V1.0', 1],
['V2.0', 2]
];
var result = example.map(e => e[0])
console.log(result);
答案 1 :(得分:1)
从我看到的示例中,第一对元素是数据的关键,您的示例将它们包含在最终数组中。
此示例将生成一个字典,其中包含数字和版本,其中包含数组中的相应值。
var example = [['Version', 'Number'], [ 'V1.0', 1 ], [ 'V2.0', 2 ]];
function extract(items) {
var keys = {},
version = items[0][0],
number = items[0][1];
keys[version] = [];
keys[number] = [];
return items.slice(1).reduce(function(acc, item) {
acc[version].push(item[0]);
acc[number].push(item[1]);
return acc;
}, keys);
}
var result = extract(example);
console.log(result);
从这一点开始,您可以执行以下操作:
var labels = result.Version;
var data = result.Number;
答案 2 :(得分:0)
这看起来像你想要实现的目标:
for(var i=0; i<example.length; i++){
labels.push(example[i][0])
data.push(example[i][1])
}