javascript - 为什么我不能将两个数组与 "includes"进行比较?

标签 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 

我希望 x.includes(z)true

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

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

最佳答案

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

关于javascript - 为什么我不能将两个数组与 "includes"进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55160851/

相关文章:

javascript - 在 Handlebars 中的另一个辅助函数中使用一个辅助函数的结果

javascript - 在 Google Chrome 扩展程序中使用 XMLHttpRequest

javascript - 测试未初始化的数组元素不起作用

java - 将字符串输入到数组中

node.js - Mongoose 获取除一个之外的随机元素

javascript - 类型错误为空

javascript - 如何将数组(Google 应用脚本)返回到 HTML 侧边栏?

javascript - HTML JS 组装数组名称工作正常但随后打印为 "string"而不是实际作业

javascript - 如何在 Express.js 和 mongoose 中编写异步 for-each 循环?

node.js - 使用 node.js 包含 HTML block