Map
map
方法的功能是:对数组中的每个元素调用指定的方法,生成一个新的数组并返回.
例如,如果一个数组是[1,2,3,4,5,6,7,8,9]
并且该指定的方法是f(x)=x^2
,那么map()方法完成的功能如下:
Reduce
reduce
方法的效果是
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
就是说先把一个数组的第一,第二个元素作为参数,调用f()方法,把返回值和数组的第三个元素再调用f()方法,一直进行到数组的最后一个元素为止.最后返回一个值.
Filter
filter
方法用于过滤数组,遍历数组元素,把元素作为参数传入判断的函数,若函数返回真则元素保留在新的数组中,返回新的数组.
swift中的使用
由于swift的$
符号带有代表参数的功能,所以在swift中运用这几个函数将十分简洁
map
1 | func map<U>(transform: (T) -> U) -> U[] |
1 | ["10","20","30"].map({"\($0)元"}) |
返回[“10元”,”20元”,”30元”]
reduce
1 | func reduce(initial: U, combine: (U, T) -> U) -> U |
1 | [10,20,30].reduce(0,{$[0]+$[1]}) |
返回60
filter
1 | func filter(includeElement: (T) -> Bool) -> T[] |
1 | [10,20,30].filter({$[0]> 10}) |
返回[20,30]