当我运行下面的代码时,我在浏览器控制台中收到错误 其中内容为:未捕获类型错误:无法读取未定义的属性“0”
尽管我对错误的性质很好奇,但代码确实打印了我想要的内容。 我已将输出粘贴到本文底部。var chessBoard = [];
for(let i = 0; i < 8; i++) {
chessBoard[i] = [];
for(let j = 0; j < 8; j++) {
chessBoard[i][j] = (i + j)% 2 === 0 ? 'Black' : 'White';
}} // populate a 2 dimensional array with colors representing a chess board.
for(let i = 7; i => 0; i--) {
let str_horizontal = '';
for (let j = 0; j < 8; j++) {
str_horizontal += chessBoard[i][j];
}
console.log(str_horizontal);
}
白色黑色白色黑色白色黑色白色黑色 VM116:13 黑色白色黑色白色黑色白色黑色白色 VM116:13 白色黑色白色黑色白色黑色白色黑色 VM116:13 黑色白色黑色白色黑色白色黑色白色 VM116:13 白色黑色白色黑色白色黑色白色黑色 VM116:13 黑色白色黑色白色黑色白色黑色白色 VM116:13 白色黑色白色黑色白色黑色白色黑色 VM116:13 黑色白色黑色白色黑色白色黑色白色 VM116:11
未捕获类型错误:无法读取未定义的属性“0” 于:11:40
我已经为此苦苦挣扎了一段时间,但进展甚微。 我看不到问题所在。感谢您的帮助,谢谢。
最佳答案
在 for 循环中,您使用的是箭头函数,而不是 =>
而是 >=
var chessBoard = [];
for(let i = 0; i < 8; i++) {
chessBoard[i] = [];
for(let j = 0; j < 8; j++) {
chessBoard[i][j] = (i + j)% 2 === 0 ? 'Black' : 'White';
}} // populate a 2 dimensional array with colors representing a chess board.
for(let i = 7; i >= 0; i--) {
let str_horizontal = '';
for (let j = 0; j < 8; j++) {
str_horizontal += chessBoard[i][j];
}
console.log(str_horizontal);
}
关于JavaScript 读取数组 - 无法读取未定义的属性 '0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49281158/