有一个非常简单的 .map
函数
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
这是有道理的,我对 numbers
执行映射函数,并提供一个将迭代数组中每个元素的函数。
在下一个示例中(所有这些都取自 mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map ),我心想为什么我们要使用 Array.prototype.map.call ,也许他们只是在演示不同的方法实现相同的目标。
var str = '12345';
Array.prototype.map.call(str, function(x) {
return x;
}).reverse().join('');
所以我将其重写为
var str = '12345';
var stringy = str.map(function(x) {
return x;
}).reverse().join('');
除了我收到错误“str.map 不是函数(...)” 这是为什么?
最佳答案
这是因为str
是一个字符串,而字符串没有map()
函数。
map()
是数组类型的函数。
关于javascript - 为什么这个 .map 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38730706/