为什么不能将两个包含“ includes”的数组进行比较?

zeh*_*zeh 2 javascript arrays node.js

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 
Run Code Online (Sandbox Code Playgroud)

我想一定x.includes(z)true

注释使我意识到了qurestion 检查是否包含一个数组的任何元素,但它不能回答我的问题,因为我想检查数组是否具有完全相同的元素includes不仅使用了一些。

而且,这个问题如何在javascript比较数组并不能解释为什么includes不起作用。它说明了如何做,这不是我的问题的重点。

T.J*_*der 5

因为[1, 2] === [1, 2]是假的。即使它们具有相同的内容,不同的数组也不相等。(所有对象都是如此。)