[英]fill in the values of an array using the array.map
我正在嘗試理解使用Array.map()
代碼
var char_set = Array.apply(null, Array(256)).map(Boolean.prototype.valueOf, false);
上面的代碼正在創建一個索引為0-255
的數組,並且每個值都設置為false
有人可以解釋如何使用此map
方法創建此數組。 map
方法的語法是
arr.map(callback[, thisArg])
就我而言, thisArg
設置為false
?
Array.apply(null, Array(256))
:將創建256個元素的數組,其所有元素的值Array.apply(null, Array(256))
定義
map(…)
:用於將所有值初始化為false
map
的第一個參數采用回調函數; Boolean.prototype.valueOf
是一個將用作回調的函數。
true.valueOf()
返回true
但必須使用thisArg調用它。
|
----------這是真的嗎?
false.valueOf()
返回false
但必須使用thisArg進行調用。
|
----------錯誤是thisArg
當map(Boolean.prototype.valueOf, false)
被調用用於在陣列中的每個元素將通過false
如this
來Boolean.prototype.valueOf
方法。 與調用false.valueOf()
一樣好,因此始終返回false
。
因此map(Boolean.prototype.valueOf, false)
等效於:
map(function(item){ return false.valueOf() });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.