var teams = new Array();
var teamsv2 = new Array();
var num_team = 18;
for (var x = 0; x < num_team; x++) {
teams[x] = x + 1;
}
for (let tb = 0; tb < teams.length; tb++) {
teamsv2[[tb][0]] = teams[tb];
}
我创建了一个名为 teams2 的数组。例如,我想在这个 teams2 数组中添加一些数据。
像这样;
teamsv2[[2][0]].push("stackoverflow");
teamsv2[[0][1]],
teamsv2[[1][1]]
我想填充数组第一个索引的第二部分。我怎样才能做到这一点?
回答1
如果你想创建一个二维数组,数组的每个元素都应该是一个自己的数组。现在,您正在创建 2 个平面 arrays。
[[tb][0]]
将使用 tb
的 value 创建一个长度为 1 的新数组,访问第 0 个索引,即 tb
的 value。所以它有很多语法,但 [[tb][0]]
与 [tb]
相同,这就是为什么你只得到一维 arrays 的原因。
如果你“想填充数组第一个索引的第二部分”......
// replace this
teamsv2[[tb][0]] = teams[tb];
// with this
teamsv2[tb] = [ teams[tb] ];
现在您可以像这样访问新数组:
console.log(teamsv2[0][0]); // returns team name
teamsv2[0].push("some info");
console.log(teamsv2[0][1]); // returns "some info"
console.table(teamsv2); // returns something like...
// (index) 0 1 2
// 0 'Knights' 'some info'
// 1 'Marlins' 'foo' 'example'
// 2 'Volcanoes' 'bar' 'more'