在Python中有一个名为map
的函数,允许您转到:map(someFunction, [x,y,z])
并继续应用该函数的列表。是否有与此功能相当的javascript?
我现在只是学习Python,虽然我被告知javascript是函数式语言,但我可以看到我一直在编写一个非功能性的javascript风格。作为一般规则,javascript可以像Python一样有效地用作函数式语言吗?它是否有类似上面的map
函数的技巧?
我刚刚开始了一个SML课程,我想知道我学到的内容也适用于javascript。
答案 0 :(得分:10)
当然! JavaScript没有很多高阶函数内置,但map
是 内置的少数函数之一:
var numbers = [1, 2, 3];
var incrementedNumbers = numbers.map(function(n) { return n + 1 });
console.log(incrementedNumbers); // => [2, 3, 4]
值得注意的是map
并没有永远存在,所以一些相当旧的浏览器可能没有它,但是很容易自己实现垫片。
答案 1 :(得分:0)
你也可以使用underscore.js,它增加了大量只有4k大小的优秀功能主义者。
_.map([1, 2, 3], function(num){ return num * 3; });
//=> [3, 6, 9]