Filter, Map, Reduce Functions

2018/10/5 posted in  iOS

Filter

Filter 函数是过滤出所有符合过滤条件的元素

比如下面的方法过滤出数组所有元素等于3的元素

func filter() {
        let numbers = [1,2,3,3,3,4]
        //过滤出所有元素为3的元素 并返回过滤之后的数据
        let filtedNumbers = numbers.filter({return $0 == 3})
        print(filtedNumbers)//[3,3,3]
    }

Map

使用map函数把数组中的所有元素使用同一个规则,并返回一个相同数量的数组

func map() {
        let numbers = [1,2,3,3,3,4]
        //过滤出所有元素为3的元素 并返回过滤之后的数据
        let filtedNumbers = numbers.map({return $0 * 2})
        print(filtedNumbers)//[2,4,6,6,6,8]
    }

Reduce

使用reduce函数实现函数的前后累加,并返回一个元素

func reduce(){
        let numbers = [1,2,3,3,3,4]
      
        let sum = numbers.reduce(0, {sum,number in sum + number})

        print(sum)
        
    }