【发布时间】:2011-12-23 16:13:31
【问题描述】:
不太了解这里发生了什么。给定数组(arr):
[
{
"first_name": "Dan",
"last_name": "Woodson",
"id": 1
},
{
"first_name": "Jen",
"last_name": "Woodson",
"id": 2
},
{
"first_name": "Yoshi",
"last_name": "Woodson",
"id": 3
}
]
还有对象(obj):
{
"first_name": "Yoshi",
"last_name": "Woodson",
"id": 3
}
为什么arr.indexOf(obj) 会返回-1(尤其是因为我在函数前面使用它的“id”参数从数组中检索了对象)?
【问题讨论】:
-
“函数的早期”是什么意思?您需要向我们展示您编写的失败的代码,而不仅仅是一些 JSON。
-
你能发布你正在使用的实际代码,和/或把它放在 fsFiddle 上吗?
-
这是因为
({a:12}) === ({a:12})是false。如果 JavaScript 中的对象是相同的对象(相同的引用),则它们是相等的,而不仅仅是相同的值。
标签: javascript arrays object indexof