Javascript 我的函数以某种方式撤消对象属性更改

Javascript 我的函数以某种方式撤消对象属性更改,javascript,ecmascript-6,babeljs,Javascript,Ecmascript 6,Babeljs,为了计算Tic-Tac-Toe游戏的赢家(我遵循react的),我创建/修改了calculateWinner函数。此函数接受一个对象数组,而每个对象都有两个属性: 值(可设置为“X”或“O”,默认为空);及 isWinner(默认情况下为布尔值,false) 此函数的作用是检查3个方格(通过其在数组中的索引进行区分)的特定组合是否具有相同的值,并将这些方格的isWinner值更改为true 问题是,在某些获胜组合上,当您检查整个数组本身时,一个或多个isWinner属性不知何故仍设置为fal

为了计算Tic-Tac-Toe游戏的赢家(我遵循react的),我创建/修改了
calculateWinner
函数。此函数接受一个对象数组,而每个对象都有两个属性:

  • (可设置为“X”或“O”,默认为空);及
  • isWinner
    (默认情况下为布尔值,
    false
此函数的作用是检查3个方格(通过其在数组中的索引进行区分)的特定组合是否具有相同的
,并将这些方格的
isWinner
值更改为
true

问题是,在某些获胜组合上,当您检查整个数组本身时,一个或多个isWinner属性不知何故仍设置为false。更奇怪的是,这只发生在(到目前为止)上,而不是在StackOverflow的代码段中。(我很快会在本地尝试)在本地也有错误

doTheTest();
函数计算器(平方){
常量行=[
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6],
];
设winner=null;
for(设i=0;i