gpt4 book ai didi

javascript - 使用 array.map 填充数组的值

转载 作者:行者123 更新时间:2023-11-30 09:49:00 25 4
gpt4 key购买 nike

我试图理解这段使用 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 个元素的数组,所有元素的值都未定义

map(…) : 用于将所有值初始化为 false

map 中的第一个参数接受一个回调函数; Boolean.prototype.valueOf 是一个将充当回调的函数。

true.valueOf() 返回 true 但必须使用 thisArg 调用它。
|
---------- true 是 thisArg

false.valueOf() 返回 false 但必须使用 thisArg 调用它。
|
---------- thisArg 为 false

当为数组中的每个元素调用 map(Boolean.prototype.valueOf, false) 时,它会将 false 作为 this 传递给Boolean.prototype.valueOf 方法。它与调用 false.valueOf() 一样好,因此它总是返回 false

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

关于javascript - 使用 array.map 填充数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37427133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com