簡體   English   中英

類型錯誤:無法使用 array.includes 將未定義或 null 轉換為 object

[英]TypeError: Cannot convert undefined or null to object, using array.includes

我不明白為什么以下代碼會引發“TypeError:無法將未定義或 null 轉換為對象”

const array = [1, 2];

[3, 4].every(array.includes);

你沒有綁定

const array = [1, 2];

const r1 = [1, 2].every(array.includes.bind(array));
const r2 = [3, 4].every(array.includes.bind(array));

- - 編輯

上面是不正確的,因為every回調把當前項的索引作為第二個參數,而array.includes把fromIndex作為第二個參數。 感謝評論中的 Nina Scholz。

你想要的是

[1,2].every(n => arr.includes(n));

您需要將 function 傳遞給.every() ,它將當前元素作為參數:

[3, 4].every(element => array.includes(element));

 const array = [1, 2]; console.log( [3, 4].every(element => array.includes(element)) ); console.log( [1, 2].every(element => array.includes(element)) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM