![](/img/trans.png)
[英]Why does returning arr.includes() is different than returning true in a conditionnal statement verifying the same array?
[英]Arr.includes(item) - Can I Use with a Multidimensional Array?
我正在嘗試使用arr.includes(item)。 如果該項是數組的元素,則函數應返回True。 但是它似乎無法使用多維數組來做到這一點。 看一下此屏幕快照(控制台中的運行節點):
我在Google Chrome瀏覽器上得到了類似的結果。
是因為它具有EC6功能,但尚未完全起作用嗎?
在Mozille頁面上沒有有關此類問題的信息。
不,您不能在深層結構上使用它,因為它執行===
測試以檢查操作數是否是同一對象,而不是兩個碰巧具有相同內容的(不同)對象。
在您鏈接到的MDN頁面上,有一個polyfill,您可以在sameValueZero()
嵌套函數中看到===
test。
由於上述原因,這實際上將返回true:
let a = [0, 1];
let b = [1, 2];
let c = [a, b];
c.includes(b);
> true
因為對象傳遞給.includes
真的是中都包含的同一對象c
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.