5

在 Python 中有一个被调用的函数map,它允许你去:map(someFunction, [x,y,z])并继续应用该函数的列表。是否有与此功能等效的javascript?

我现在只是在学习 Python,尽管有人告诉我 javascript 是函数式语言,但我可以看到我一直在使用非函数式 javascript 风格进行编程。作为一般规则,javascript 可以像 Python 一样有效地用作函数式语言吗?它有类似map上面的函数的技巧吗?

我也刚刚开始学习 SML 课程,想知道我学到的知识中有多少也适用于 javascript。

4

2 回答 2

12

当然!JavaScript 没有很多内置的高阶函数,但map它是为数不多内置函数之一:

var numbers = [1, 2, 3];
var incrementedNumbers = numbers.map(function(n) { return n + 1 });
console.log(incrementedNumbers);  // => [2, 3, 4]

值得注意的是,它map并没有永远存在,所以一些相当老的浏览器可能没有它,但自己实现一个 shim 很容易。

于 2013-11-08T03:20:20.923 回答
1

您还可以使用underscore.js,它添加​​了大量只有 4k 大小的漂亮功能主义者。

_.map([1, 2, 3], function(num){ return num * 3; });
//=> [3, 6, 9]
于 2013-11-08T03:43:16.837 回答