簡體   English   中英

使用array.map填寫數組的值

[英]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)被調用用於在陣列中的每個元素將通過falsethisBoolean.prototype.valueOf方法。 與調用false.valueOf()一樣好,因此始終返回false

因此map(Boolean.prototype.valueOf, false)等效於:
map(function(item){ return false.valueOf() });

暫無
暫無

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

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