首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript在数组索引中搜索数组?

javascript在数组索引中搜索数组?
EN

Stack Overflow用户
提问于 2013-01-20 00:55:10
回答 2查看 39关注 0票数 0

假设我有:

代码语言:javascript
复制
a=[[1,2],[3,4],[5,6]]

这是错的吗?

代码语言:javascript
复制
a.indexOf([1,2])

为什么是-1?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-20 01:08:48

因为[1,2] == [1,2]false

javascript对象的不同实例之间不存在等价性。

来自==上的the MDN

如果两个操作数都是对象,则当操作数引用内存中的同一对象时,JavaScript将比较相等的内部引用。

您可以构建自己的函数来查找数组中的数组,但在这种情况下,由于必须检查内部数组的所有元素(或构建散列代码),这将不会很快。你最好避免这种搜索。

票数 0
EN

Stack Overflow用户

发布于 2013-01-20 01:10:55

你不能在JAVASCRIPT中使用数组!

JavaScript数组本质上是从对象继承的当您检查相等条件时,这两个对象的内部引用是不同的,它返回-1,尽管所有元素都是相同的

因此,当您调用.indexOf时,它将比较失败的数组,因此您将得到-1

您需要构建自己的函数来深入检查数组及其子数组是否相等,或者您可以使用一些库,如_.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14420368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档