gpt4 book ai didi

jquery - 比较数组中的对象

转载 作者:行者123 更新时间:2023-11-28 15:33:10 25 4
gpt4 key购买 nike

我有一个对象数组。

var array = [obj1, obj2, obj3, objN]

每个对象都有 3 个属性 key、name、description。

如何比较这些对象是否相等,如果两个对象具有相同的键,则它们相等。

但是,如果一个对象有 4 个对象,那么它们必须具有相同的键才能相等。

最佳答案

您可以使用 Array.prototype.every() 来做到这一点:

The every() method tests whether all elements in the array pass the test implemented by the provided function. (mdn)

示例:

var array = [obj1, obj2, obj3, objN];
var allTheSame = array.every(function(element){
return element.key === array[0].key;
});

请注意 Array.prototype.every()是IE 9+。然而,有一个不错的polyfill on the mdn page适用于旧版本的 IE。

如果你确实想使用 for 循环,你可以这样做:

var array = [obj1, obj2, obj3, objN];
var allTheSame = array.length == 1;

for(var i = 1; i < array.length && (array.length > 1 && allTheSame); i++){
allTheSame = array[0].key == array[i].key;
}

尝试一下:

[{key:1},{key:1},{key:1}]; // true
[{key:1},{key:1},{key:2}]; // false
[{key:1},{key:2},{key:1}]; // false
[{key:1}]; // true

关于jquery - 比较数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26399121/

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