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