// Check if there are any empty cells (boxes) on the board,
// if so the game is in progress. Otherwise, the game is
// over and is a tie.
// YOUR CODE HERE
for(var row = 0;row < board.length; row++){
for(var column = 0; column< board[row].length; column++){
if (board[row][column]===' '){
return '?'
}else{
return '-' ;
}
}
} } 我不确定应该如何编写此代码,而且我甚至不知道要学习如何检查空盒子/单元格。
答案 0 :(得分:2)
您可以以嵌套的方式为给定的电路板使用Array#some
。如果找到第一个空格,则返回true
。
function hasSpace(board) {
return board.some(row => row.some(item => item === ' '));
}
var emptyBoard = [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']],
fullBoard = [['X', 'X', 'X'], ['X', 'X', 'X'], ['X', 'X', 'X']];
console.log(hasSpace(emptyBoard));
console.log(hasSpace(fullBoard));
答案 1 :(得分:0)
您不需要在if-else结构的两个分支中返回值。我会尝试类似的东西:
SELECT fl1.flight_city,fl2.flight_city FROM `flight_details` as fl1 JOIN `flight_details` as fl2 on fl2.fid != fl1.fid
这样,如果你找到一个空的空格,你可以立即返回,但是如果你没有,你必须循环遍历所有的单元格,以确保它们都不是空的,因此只有在循环结束。
答案 2 :(得分:0)
编辑:我不理解问题的背景,而另一条评论在回答你的问题方面做得非常好。不过,我会留下这个提示。
作为Javascript的初学者,我建议您使用控制台命令打印到控制台。在那里你会看到错误和异常。要在chrome中打开开发人员控制台,请按F12(或右键单击&gt;检查页面中的任意位置,然后单击控制台)。
请注意,您尝试返回多个值,但不在功能中。我假设您打算打印它们,并查看数组中的内容。要做到这一点,你可以简单地做:
for(var row = 0;row < board.length; row++){
for(var column = 0; column< board[row].length; column++){
if (board[row][column]===' '){
console.log('?')
}else{
console.log('-')
}
}
}
另外,请注意您可以使用console.log查看板本身的内容,如下所示:console.log(board)。