【发布时间】:2012-02-17 01:37:41
【问题描述】:
只有当它不包含我要添加的哈希时,我才需要将哈希推送到数组中。 例如我有一个哈希数组:
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"}
]
价值
{field_1 : "someValue_1", field_2 : "someValue_2"}
不应将其推入数组,因为它已经存在,但值
{field_1 : "someValue_7", field_2 : "someValue_8"}
应该,因为数组不包含这样的值。
有没有办法使用jQuery来做到这一点?
现在我只是使用 $.each 循环并检查数组是否包含一些散列。如果是这样,我会触发一个标志。但我不喜欢这种解决方案。
【问题讨论】:
-
所以你想实现一个复合唯一索引 - 我第二个 Felix 你试过什么?您将不得不对每次添加进行数组搜索。
someArray中的数据是否已排序? (会简化搜索) -
现在我只是使用 $.each 循环并检查数组是否包含一些哈希。如果是这样,我会触发一个标志。但我不喜欢这个解决方案。
-
@Roman 另一个简单的选择是使用复合键保持并行散列。
-
@Dave Newton 你能举个例子吗?
标签: javascript jquery arrays prototype