[英]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.