Javascript 多维度数组中的访问项
我正在react中构建connect 4应用程序。在检查平局的条件时,我无法循环使用Fill函数(7乘6)数组构建的数组 console.log(测试)的结果:Javascript 多维度数组中的访问项,javascript,reactjs,multidimensional-array,Javascript,Reactjs,Multidimensional Array,我正在react中构建connect 4应用程序。在检查平局的条件时,我无法循环使用Fill函数(7乘6)数组构建的数组 console.log(测试)的结果: 我需要遍历所有数组并检查数组!==空您可以使用双过滤器。比如: const测试=[ [null,null,null,null,null,null,null], [null,null,null,null,null,null,null], [null,null,null,null,null,null,null], [null,null,n
我需要遍历所有数组并检查
数组!==空
您可以使用双过滤器。比如:
const测试=[
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[“/static/media/golden.d6314cc9.png”,null,null,null,null,null]
]
.filter(t=>
t、 过滤器(tt=>tt!=null).length>0);
控制台日志(测试)代码>您可以使用双过滤器。比如:
const测试=[
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[null,null,null,null,null,null,null],
[“/static/media/golden.d6314cc9.png”,null,null,null,null,null]
]
.filter(t=>
t、 过滤器(tt=>tt!=null).length>0);
控制台日志(测试)代码>以下内容将为每一行提供一个布尔值,它将指示该行是否为空,即对于至少有一个非空值的行为真:
var columnGrid=新数组(7)
.fill(0)
.map(()=>新数组(6).fill(null));
columnGrid[6][0]=“测试”;
var isnull=columnGrid.map(行=>row.some(布尔));
console.log(isnull)代码>以下内容将为每一行提供一个布尔值,它将指示该行是否为空,即对于至少有一个非空值的行为真:
var columnGrid=新数组(7)
.fill(0)
.map(()=>新数组(6).fill(null));
columnGrid[6][0]=“测试”;
var isnull=columnGrid.map(行=>row.some(布尔));
console.log(isnull)代码>到目前为止您尝试了什么(“我无法在数组中循环”)?最好是(使用代码片段->
/Ctrl+M)如果每列都用null
填充,那么最后一行如何具有字符串值?最后一行是字符串,因为在最后一行上单击@adiga时会放置硬币预期输出是什么?你想检查每个元素是否为空或者每行至少有一个元素为空我只想通过设置一个条件来检查电路板是否已填充这些数组不为空,例如如果(每个数组不为空){那么它是一个draw}所以我只是想检查数组中的每个元素是否都为null,到目前为止您尝试了什么(“我无法循环数组”)?最好是(使用代码片段->
/Ctrl+M)如果每列都用null
填充,那么最后一行如何具有字符串值?最后一行是字符串,因为在最后一行上单击@adiga时会放置硬币预期输出是什么?你想检查每个元素是否为空,或者每行至少有一个元素为空我只想通过设置一个条件来检查电路板是否已填充这些数组不为空,例如如果(每个数组都不为空){那么它是一个draw},那么只想检查数组中的每个元素是否为空not@james,当我在那个代码段上按“Run”时,它就工作了。请准确回答您的问题(编辑!)您期望的输出是什么。@詹姆斯,当我按“运行”该代码段时,它工作正常。请准确回答您的问题(编辑!)您期望的输出是什么。trincot您能帮我指定some(boolean)代表什么吗?是的,我想要一个真或假的数组,因为输出是一个数组方法。它返回一个布尔值。当它发现一个元素(当传递给回调函数时)返回true时,它将为true。回调函数在这里,对于非空字符串,它将返回true。我更新了我的答案以返回布尔数组。别忘了。trincot你能帮我指定some(boolean)代表什么吗?是的,我想要一个真或假的数组,因为输出是一个数组方法。它返回一个布尔值。当它发现一个元素(当传递给回调函数时)返回true时,它将为true。回调函数在这里,对于非空字符串,它将返回true。我更新了我的答案以返回一组布尔值。别忘了。
state = {
columnGrid: new Array(7)
.fill(0)
.map(() => new Array(6).fill(null)),
}
const test = this.state.columnGrid.slice();
(7) [Array(6), Array(6), Array(6), Array(6), Array(6), Array(6),
Array(6)]
0: (6) [null, null, null, null, null, null]
1: (6) [null, null, null, null, null, null]
2: (6) [null, null, null, null, null, null]
3: (6) [null, null, null, null, null, null]
4: (6) [null, null, null, null, null, null]
5: (6) [null, null, null, null, null, null]
6: (6) ["/static/media/golden.d6314cc9.png", null, null, null, null,
null]