[英]binding to Array.includes [javascript]
我很難在array1中是否存在array2中的任何元素的查找中使用它:
array2 = [].includes.bind([1,2,3]);
array2(1); // returns true
array2(9); // returns false
[5,6,7,8,9].some(array2); // returns false GOOD
[3,6,7,8,9].some(array2); // returns true GOOD
[6,7,8,9,3].some(array2); // returns false OOPS!
[6,7,8,9,3].some(function(i){return array2(i)}); //returns true
顯然,我知道該問題的一種解決方案,但是我想知道為什么[...].some(array2)
不能完全正常工作。
[6,7,8,9,3].some(array2)
不起作用,因為Array.prototype.some
調用檢查函數具有3個參數:值,索引,整個數組,而Array.prototype.includes
需要2個參數 。 第二個參數是從中開始搜索的索引。
arr.includes(searchElement,fromIndex)
因此,每個下一個調用都會詢問您的第一個數組是否包括從給定索引開始的給定值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.