【发布时间】:2019-03-18 03:35:12
【问题描述】:
我试图在我的 2 维数组 arr 中找到“a”。如果有“a”,则使用 if 语句,它应该在“a”在我的另一个数组 arr 中的相同位置将我的 bol 2 维度数组设置为 true。
var x;
var y;
var arr = [
["a", "b", "c"],
["d", "e", "a"],
["1", "2", "3"],
["a", "f", "d"]
];
var bol = new Array(4).fill(new Array(3).fill(false));
for (x = 0; x <= 3; x++) {
for (y = 0; y <= 2; y++) {
if (arr[x][y] == "a") {
bol[x][y] = true;
}
}
}
console.log(bol);
我希望 bol 看起来像这样: 波尔
[[true, false, false],
[false, false, true],
[false, false, false],
[true, false, false]];
但是在控制台中 bol 看起来像这样:
[true, false, true]
[true, false, true]
[true, false, true]
[true, false, true]
请告诉我我做错了什么。谢谢!
【问题讨论】:
-
fill填充相同的对象引用,如果不是原始的。
标签: javascript for-loop if-statement multidimensional-array