[[1,2,3],[1,2,3]].includes([1,2,3])返回false
我现在要对一个二维数组进行操作,如题,如果不存在就进行push操作,所以不是对已经存在的数组去重
试过indexOf,返回-1,es6的includes,返回false,
有什么原生的方法可以判断出来么,并且能解释一下为什么直接的includes不行么
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
数组是引用类型,所以
[1,2,3]===[1,2,3]
是false
. 因此indexOf
和includes
自然判断不出来。如果你数组内部是值类型的话可以
如果这个值大于 0 说明包含这个待比较的数组。
Another update:
这次返回
true
就说明包含待比较的数组。(灵感来自本题的另一个 answer)因为includes在判断相等时如果是对象比较的是引用。想要成功你得这样:
或者: