使用if语句和2维数组javascript嵌套for循环
我正在尝试在名为arr的二维数组中查找“a”。如果存在“a”,则使用if语句应在另一个数组arr中的“a”所在位置将我的bol 2二维数组设置为true使用if语句和2维数组javascript嵌套for循环,javascript,for-loop,if-statement,multidimensional-array,Javascript,For Loop,If Statement,Multidimensional Array,我正在尝试在名为arr的二维数组中查找“a”。如果存在“a”,则使用if语句应在另一个数组arr中的“a”所在位置将我的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
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, true]
[true, false, true]
[true, false, true]
[true, false, true]
请告诉我我做错了什么。谢谢 使用相同的对象/原语填充数组时,需要创建独立的数组
例如,使用和映射函数的第二个参数,该函数是另一个数组
var x,
Y
arr=[“a”、“b”、“c”]、[“d”、“e”、“a”]、[“1”、“2”、“3”]、[“a”、“f”、“d”],
bol=Array.from({length:4},=>Array.from({length:3},=>false));
for(x=0;xfill
填充相同的对象引用(如果不是基元)。
[true, false, true]
[true, false, true]
[true, false, true]
[true, false, true]