javascript - Arr.includes(item) - 我可以使用多维数组吗?

标签 javascript ecmascript-6

我正在尝试使用 arr.includes(item)。如果该项是数组的元素,该函数应返回 True。但它似乎无法使用多维数组来做到这一点。看看这个截图(在控制台中运行节点):

enter image description here

我在我的谷歌浏览器上得到了类似的结果。

是因为它是 EC6 函数,还没有完全发挥作用吗?

Mozille page上没有关于此类问题的信息.

最佳答案

不,你不能在深层结构上使用它,因为它执行一个 === 测试来检查操作数是否是相同对象,而不是两个恰好具有相同内容的(不同的)对象。

在您链接到的 MDN 页面上有一个 polyfill,您可以在其中看到 ===sameValueZero() 嵌套函数中进行测试。

由于上述原因,这实际上会返回 true:

let a = [0, 1];
let b = [1, 2];
let c = [a, b];
c.includes(b);
> true

因为传递给 .includes 的对象实际上 c 中包含的对象相同。

关于javascript - Arr.includes(item) - 我可以使用多维数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44180586/

相关文章:

javascript - Angular 中的 ng-repeat 数据绑定(bind)不起作用。我哪里错了?

javascript - 消息 : System error: -1072896658 ---- Problem with IE browser

javascript - 清洁代码 : try/catch in Promise

javascript - 从函数访问兄弟对象

javascript - Angular 和 RxJs 结合了两个 http 请求

javascript - 如何正确加粗 Twitter 中的搜索词,JS 中奇怪的正则表达式案例

javascript - Raphael.js 拖动比例会导致奇怪的跳跃行为

使用 es6 时,Meteor 模板自动运行不是一个功能

javascript - Axios - 如何读取 JSON 响应?

javascript - webpack 和 react 识别 css 类名