检查两个数组是否包含相同的对象-反应componentDidUpdate

我正在使用React的componentDidUpdate生命周期方法。

我试图确定两个数组是否相同。

我的prevState数组如下所示:

prevState.players = [

{

name: 'Wayne Rooney',

age: 31

},

{

name: 'Lionel Messi',

age: 29

},

{

name: 'Robbie Fowler',

age: 42

}

];

this.state阵列看起来像这样:

this.state.players = [

{

name: 'Wayne Rooney',

age: 31

},

{

name: 'Lionel Messi',

age: 29

},

{

name: 'Robbie Fowler',

age: 42

}

];

如您所见,如果您展开下面的代码段,则它们不相等:

let playersOne = [{

name: 'Wayne Rooney',

age: 31

},

{

name: 'Lionel Messi',

age: 29

},

{

name: 'Robbie Fowler',

age: 42

}

];

let playersTwo = [{

name: 'Wayne Rooney',

age: 31

},

{

name: 'Lionel Messi',

age: 29

},

{

name: 'Robbie Fowler',

age: 42

}

];

console.log(playersOne == playersTwo)

这是我的生命周期代码。

  componentDidUpdate(prevProps, prevState) {

if(prevState.players != this.state.players) {

this.updatePlayers(this.state);

}

}

任何人都可以建议确定数组是否相等的最佳方法吗?

回答:

JSON.stringify(playersOne) == JSON.stringify(playersTwo)

以上是 检查两个数组是否包含相同的对象-反应componentDidUpdate 的全部内容, 来源链接: utcz.com/qa/410377.html

回到顶部