swift SEQUENCE :map flatMap filter Reduce

var values = [1,3,5,6]
/**
 map
 顺序提取出数组中的元素 进行操作
 */
let results = values.map ({ $0 * 2 })
print(results)



/**
 FlatMap
 压榨式提取元素
 多层级数组会,合成一个数组,强制解包,剔除空数据
*/
var value0 = [[1,3,5,7],[9]]
let flattenResult = values.flatMap{ $0 }

/**
 filter
 提取出想要的元素
 */
var value1 = [1,3,5,7,9]
let flattenResults = value1.filter{ $0 % 3 == 0}
print(flattenResults)


//------------------
/*
 Reduce
 按个提出 按个操作返回
 initialResult 初始值
 tempResult:上轮循环的结果
 element:本次提取出的元素
 */
let initialResult = 0
var reduceResult = values.reduce(initialResult, { (tempResult, element) -> Int in
    return tempResult + element
})
print(reduceResult)

你可能感兴趣的:(swift SEQUENCE :map flatMap filter Reduce)