【发布时间】:2015-05-05 12:39:43
【问题描述】:
例如,在 Python 中我们有这样一个方便的工具——而不是像这样写
values = [1,2,3,4,5]
altered_values = []
for v in values:
altered_values.append(v*25)
我们可以写
altered_values = [v*25 for v in values]
在 Javascript 中可以使用这种单行代码吗?
【问题讨论】:
-
这是一个列表推导,而不是一个生成器表达式。
-
作为 JS 的替代方案,您可以使用
Array#map:altered_values = values.map(function (v) { return v*25; });,而使用 ES6,您可以缩短:altered_values = values.map(v => v*25); -
@Matthias 是的,我的错。已编辑。
-
@JamesAllardice 性能有何不同?
-
@yxfxmx -
map可能比普通的for循环慢,但不太可能对现实世界产生任何影响。两者都应该比使用理解和转译到 ES5 快得多。
标签: javascript python list-comprehension