【发布时间】:2015-07-31 04:06:10
【问题描述】:
我想了解这背后的原因:
var a = new Array(3);
var b = a.map(function () {
return 'b';
});
结果
一个:[ , , ]
b:[ , , ]
当我期望 b 产生['b', 'b', 'b']时。
在进一步调查中,我发现如果我要做a.push('a'),我会选择[, , , 'a']。
在 map 函数之后,b 将变为 [, , , 'b']。
这里发生了什么?为什么这些分配的单元格的行为与初始化不同?我最初期望它会像数组文字一样起作用,[undefined, undefined, undefined].map(fn)
【问题讨论】:
-
我假设你的意思是
return 'x'在你的函数b? -
javascript map 函数总是返回仅在迭代数组值中的值。您的数组“a”的长度为 3。所以它返回相同
标签: javascript arrays