我一整天都试图解决这个问题。这是编程课程的练习,但我似乎无法解决它。这是一个非常初学者,但我仍然会感激任何帮助。
基本上练习是这样的: 创建一个名为clearBoard()的函数 此函数将遍历棋盘格中的每个单元格,并将该单元格的值设置为null。
我们一直在使用for循环和.map,因此基本上我们应该使用这些工具来解决这个问题。
我有点迷茫,所以我创建了一个函数来查看如何在列上写入以及如何在行上写入。我似乎无法写两篇文章。
我看到我的for循环不起作用,我不知道为什么。我想我做的一切都是对的。唯一有效的是.map迭代器,但它没有行和列。
答案 0 :(得分:1)
var clearBoard = function (checkerboard) {
checkerboard.forEach(function (row) {
row.map(function () {
return null;
})
})
return checkerBoard;
}
但这可能比:
慢var clearBoard2 = function (board) {
// you can use use i < 8 and j < 8, since checkerboards
// are always 64 squares
for (var i = 0; i < board.length; i++) {
for (var j = 0; j < board[i].length; j++) {
board[i][j] = null;
}
}
// you could also do
/*
for (var i = 0; i < 64; i++) {
checkerboard[Math.floor(i/8)][i % 8] = null;
}
*/
// since it's the same thing
return board;
}
这是另一种方法:
var clearBoard3 = function () {
var board = [];
for (var i = 0; i < 8; i++) {
board[i] = Array.apply(null, new Array(8));
}
return board;
}