我正在制作一款国际象棋游戏,我从一个初始棋盘开始。我有一个基于 FEN 的位置更改功能。但是,当我想在添加新方块之前更新棋盘并重置时,它不会重置。
const board = () => {
let squares = [];
const setBoard = fen => {
squares = [];
//populating squares logic
};
return { squares, setBoard };
};
该函数返回对
squares
变量中数组的引用。通过更改函数中变量的值,您不会更改传递的值。
要清除变量中的数组,请使用
array.length = 0
。
由于变量的值不应更改,因此使用
const
。
const board = () => {
const squares = []; // use 'const'
const setBoard = fen => {
squares.length = 0; // clear squares
//populating squares logic
};
return { squares, setBoard };
};