利用flatMap代替双层for循环
flatMap:平铺的意思,是高阶函数,可以对数组降维。
代码
func test()
{
let dic11 = ["name" : "apple"]
let dic12 = ["name" : "orange"];
let arr1 = [dic11,dic12]
let dic21 = ["name" : "banana"]
let dic22 = ["name" : "watermelon"];
let arr2 = [dic21,dic22]
let arr = [arr1, arr2]
var rsts = [String]()
// for tempArr in arr {
//
// for dic in tempArr {
// let tempStr : String = dic["name"]! as String
// rsts.append(tempStr)
// }
// }
arr.flatMap { tempArr in
tempArr.compactMap { dic in
let tempStr : String = dic["name"]! as String
rsts.append(tempStr)
}
}
print("result:\(rsts)")
}