Javascript与Python关于Python的对比';map()';功能

Javascript与Python关于Python的对比';map()';功能,javascript,python,functional-programming,sml,Javascript,Python,Functional Programming,Sml,在Python中有一个名为map的函数,它允许您执行:map(someFunction,[x,y,z])并在该列表中应用该函数。是否有与此函数等效的javascript 我现在正在学习Python,虽然我被告知javascript是函数式语言,但我可以看到我一直在用非函数式javascript风格编程。一般来说,javascript能否像Python一样有效地用作函数语言?它是否有类似上面的map功能 我还刚刚开始一门SML课程,我想知道我所学的有多少内容也适用于javascript。当然!Ja

在Python中有一个名为
map
的函数,它允许您执行:
map(someFunction,[x,y,z])
并在该列表中应用该函数。是否有与此函数等效的javascript

我现在正在学习Python,虽然我被告知javascript是函数式语言,但我可以看到我一直在用非函数式javascript风格编程。一般来说,javascript能否像Python一样有效地用作函数语言?它是否有类似上面的
map
功能


我还刚刚开始一门SML课程,我想知道我所学的有多少内容也适用于javascript。

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

var numbers = [1, 2, 3];
var incrementedNumbers = numbers.map(function(n) { return n + 1 });
console.log(incrementedNumbers);  // => [2, 3, 4]
可能值得注意的是,
map
并不是永远存在的,所以一些相当旧的浏览器可能没有它,但自己实现一个垫片是很容易的。

你也可以使用它,它只增加了大量4k大小的功能

_.map([1, 2, 3], function(num){ return num * 3; });
//=> [3, 6, 9]

它被称为
.map()
,是数组原型上的一种方法。Js是面向对象的函数。而不是
map(f,[])
您可以
[].map(f)
。但是js也是功能性的,就像Python一样,您可以在javascript中实现函数
map(f,[])
。Map并不是Python的功能所在。正是编写
map
函数的能力使其具有了功能性——碰巧标准库提供了一个。值得注意的是,python并不是一种真正伟大的函数式编程语言(为此,请看
lisp
scheme
haskel
)。它有一些功能,但它并没有为此进行优化。。。