gpt4 book ai didi

javascript - JavaScript 哈希中的唯一值

转载 作者:行者123 更新时间:2023-11-29 20:12:10 25 4
gpt4 key购买 nike

只有当它不包含我要添加的散列时,我才需要将散列插入数组。例如我有一个哈希数组:

var someArray = [
{field_1 : "someValue_1", field_2 : "someValue_2"},
{field_1 : "someValue_3", field_2 : "someValue_4"},
{field_1 : "someValue_5", field_2 : "someValue_6"}
]

值(value)

{field_1 : "someValue_1", field_2 : "someValue_2"}

不应该被压入数组,因为它已经存在了,但是值

{field_1 : "someValue_7", field_2 : "someValue_8"}

应该,因为数组不包含这样的值。

有什么方法可以使用 jQuery 来实现吗?

现在我只是使用 $.each 循环并检查数组是否包含一些散列。如果确实如此,我会触发一个标志。但我不喜欢这个解决方案。

最佳答案

  1. 创建自定义原型(prototype)以检查数组中是否存在对象。请检查下面的原型(prototype)设计。
Array.prototype.contains=function(x){
for(i in this){
if((x.field_1==this[i].field_1)&&(x.field_2==this[i].field_2))
return true;
}
return false;
}
  1. 使用上述原型(prototype),您可以检查数组中是否存在对象。
 var someArray = [
{field_1 : "someValue_1", field_2 : "someValue_2"},
{field_1 : "someValue_3", field_2 : "someValue_4"},
{field_1 : "someValue_5", field_2 : "someValue_6"}
];

var a1={field_1 : "someValue_1", field_2 : "someValue_2"};
var a2={field_1 : "someValue_7", field_2 : "someValue_8"};

if(!someArray.contains(a1)) someArray.push(obj); // it will NOT BE pushed
if(!someArray.contains(a2)) someArray.push(obj); // it will be pushed

关于javascript - JavaScript 哈希中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8976128/

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