gpt4 book ai didi

javascript - 为什么 jQuery.inArray 不适用于对象数组

转载 作者:搜寻专家 更新时间:2023-11-01 04:50:31 24 4
gpt4 key购买 nike

我有对象数组

var arr = [
{"id" : "1", "description" : "one"},
{"id" : "2", "description" : "two"},
{"id" : "3", "description" : "three"}]

我需要获取索引,例如,对于 id="2"的对象。我需要

var index = jQuery.inArray( {"id" : "2", "description" : "two"}, arr )

在索引中我得到 -1。

JsFiddle

最佳答案

因为 inArray 使用 === 来比较元素,不同的对象之间永远不会 === 。 (它们也不是 == 彼此。)

例如:

var a = {"foo": "bar"};
var b = {"foo": "bar"};
console.log(a === b); // "false"

您需要为它们创建一个方法来比较它们的等价性,然后自己进行搜索。

关于javascript - 为什么 jQuery.inArray 不适用于对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111707/

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