【发布时间】:2020-06-29 15:00:05
【问题描述】:
我正在尝试复制一个二维数组,但每次我更改复制数组的值时,它也会更改原始数组。
原始数组
board = [
[0,1,0],
[0,0,1],
[1,1,1],
[0,0,0]
];
let ans = board.slice();
for(let i=0; i<board.length; i++){
for(let j=0; j<board[i].length; j++){
let neighbors = checkCell(board, i, j);
if(board[i][j] === 1) {
ans[i][j] = (neighbors === 2 || neighbors === 3 ? 1 : 0);
} else {
ans[i][j] = (neighbors === 3 ? 1 : 0);
}
}
}
checkCell() 只是一个返回 1 或 0 的方法。我的问题是,当我将值设置为 ans 时,它也会更改原始的 board 数组。我尝试使用and = [...board]; 复制并遇到了同样的问题。
【问题讨论】:
标签: javascript