我必须比较 React componentwillreceiveprops 中的两个大对象数组。我有 261 个国家/地区的数组。例如从这里开始。
countries = [
{id: 1, name: "Australia", code: "AU", isRemoved: false}
...
261 objects
]
我必须比较下一个 props 中收到的数组与我当前的国家数组绝对相同,即所有属性、长度、属性值,所有东西都是相等的。请帮我。我写了这样的东西,但我知道 !== 不正确。
if (this.state.countriesInitial !== countries) {//TODO: compare arrays
this.setState({
countriesInitial: countries
})
}
任何答案都会被考虑在内。也许 lodash 有一些方法可以简化任务,我不知道。任何答案都会被考虑。提前致谢。
最佳答案
是的,lodash 有一个让生活更轻松的方法 - _.isEqual()
:
var arr1 = [ /* Very long array */ ],
arr2 = [ /* Also long array */ ];
var equalArrays = _.isEqual(arr1, arr2);
或者,使用 JSON 方法:
var arr1 = [ /* Very long array */ ],
arr2 = [ /* Also long array */ ];
var equalArrays = JSON.stringify(arr1) == JSON.stringify(arr2);
关于javascript - 如何比较两个大对象数组的身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54924966/