首页 > 解决方案 > 为什么我不能将两个数组与“包含”进行比较?

问题描述

Javascript 不允许使用 ? 比较数组includes

看这个例子:

let x = [[1,2], [3,4]]
let y = x[0]
let z = [1,2]

console.log(y,z)
// Output: [ 1, 2 ] [ 1, 2 ]
console.log(x.includes(y), x.includes(z))
// Output: true false 

我想必须x.includes(z)true

评论让我知道了 quretion check-if-an-array-contains-any-element-of-another-array-in-javascript,但它没有回答我的问题,因为我想检查数组是否有完全相同的元素includes不仅使用了一些。

此外,这个问题how-to-compare-arrays-in-javascript并没有解释为什么includes不起作用。它告诉了如何去做,这不是我的问题的重点。

标签: javascriptarraysnode.js

解决方案


因为[1, 2] === [1, 2]是假的。不同的数组不相等,即使它们的内容相同。(这适用于所有对象。)


推荐阅读