繁体   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