您好我正在尝试使用for循环向多维数组添加一些值。这是我到目前为止所创造的:
var test1 = [];
var test2 = [];
for (var i = 0; i < top10.length; i++)
{
test1[i] = i;
test1[i][0] = top10[i][0];
test1[i][1] = top10[i][1];
}
这只是返回一个空数组。 top10是一个多维数组,包含:
它可以包含更多数据,这就是我需要for循环的原因。我正在尝试创建2个多维数组“test1”和“test2”,其中一个将包含“Hinckley Train Station”和“4754”,另一个将包含“Hinckley Train Station”和“2274”。
我可以有多个场地,不仅仅是“欣克利火车站”“4754”“2274”我还可以拥有“伦敦城市”“5000”“1000”。这就是为什么它是for循环。
答案 0 :(得分:2)
您可以将新阵列推送到所需部分
var top10 = [
["Hinckley Train Station", "4754", "2274"],
["London City", "5000", "1000"]
],
test1 = [],
test2 = [],
i;
for (i = 0; i < top10.length; i++) {
test1.push([top10[i][0], top10[i][1]]);
test2.push([top10[i][0], top10[i][2]]);
}
console.log(test1);
console.log(test2);
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;
答案 1 :(得分:1)
在这一行
test1[i] = i;
您正在指定一个整数作为外部数组的第一个元素。你没有2d数组,你有一个整数数组
以下几行:
test1[i][0] = top10[i][0];
test1[i][1] = top10[i][1];
您正在为一个整数分配属性,这意味着they are being boxed,但是盒装值会被丢弃。
很难说出你想要做什么,但以下内容可能更接近。每次循环都需要创建一个新的内部数组。
for (var i = 0; i < top10.length; i++)
{
test1[i] = [];
test1[i][0] = top10[i][0];
test1[i][1] = top10[i][1];
// Maybe do something similar with test2
}