JavaScript读取数组 - 无法读取未定义的属性“0”

时间:2018-03-14 15:05:10

标签: javascript arrays undefined

当我运行下面的代码时,我在浏览器控制台中收到错误 其中包含:Uncaught TypeError:无法读取未定义的属性“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);
}

WhiteBlackWhiteBlackWhiteBlackWhiteBlack VM116:13 BlackWhiteBlackWhiteBlackWhiteBlackWhite VM116:13 WhiteBlackWhiteBlackWhiteBlackWhiteBlack VM116:13 BlackWhiteBlackWhiteBlackWhiteBlackWhite VM116:13 WhiteBlackWhiteBlackWhiteBlackWhiteBlack VM116:13 BlackWhiteBlackWhiteBlackWhiteBlackWhite VM116:13 WhiteBlackWhiteBlackWhiteBlackWhiteBlack VM116:13 BlackWhiteBlackWhiteBlackWhiteBlackWhite VM116:11

未捕获的TypeError:无法读取未定义的属性“0”     时间:11:40

我一直在努力解决这个问题,但进展甚微。 我看不出问题。我感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

在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);
}