gpt4 book ai didi

javascript - 比较两个包含对象的数组,包括其他对象、数组等

转载 作者:行者123 更新时间:2023-11-30 09:17:48 29 4
gpt4 key购买 nike

看看这些数组比较代码的例子:

// example-1
let array1 = ['a', 'b'];
let array2 = ['a', 'b'];
console.log(array1.equals(array2)); // returns true

// example-2
let array1 = ['a', 'b', 1];
let array2 = ['a', 'b', 1];
console.log(array1.equals(array2)); // returns true

// example-3
let array1 = ['a', 'b', {'a': 1, 'b': 2}];
let array2 = ['a', 'b', {'b': 2, 'a', 1}];
console.log(array1.equals(array2)); // returns false

我正在寻找一种方法来比较其中包含对象的数组,但不考虑嵌套对象中元素的顺序,如上面的示例 3 中所述。

最佳答案

你应该JSON.stringify()数组并像这样比较它们:

var arr1 = ['a', 'b', {'a': 1}];
var arr2 = ['a', 'b', {'a': 1}];
console.log(JSON.stringify(array1) == JSON.stringify(array2));

之所以有效,是因为它将对象数组转换为更简单的比较状态(JSON 字符串)。仅当数组以与 OP 示例中相同的顺序包含它们的属性时,这才有效。

关于javascript - 比较两个包含对象的数组,包括其他对象、数组等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53863806/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com