相当于Groovy for Javascript的map()?

时间:2013-03-10 12:33:05

标签: javascript list groovy loops

在Javascript中的功能

array.map(callback[, thisArg])

创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数。 (关于mdn的每个文件)。 在Groovy中有相同的东西吗?

1 个答案:

答案 0 :(得分:12)

您可能正在寻找collect

def numbers = [1,2,3]
assert numbers.collect { it * 2 } == [2,4,6]

还有一些专门为Collection和数组类型定义的变体(与收集本身相反,它对任何对象都有效,默认行为处理任意对象与包含该对象的单元素数组相同对象),例如collectMany,它允许您为每个元素返回零,一个或多个结果的列表,结果全部连接

assert numbers.collectMany { (it > 1) ? [it, -1*it] : [] } == [2, -2, 3, -3]