美文网首页
map、flatmap、filter等使用

map、flatmap、filter等使用

作者: 冰点雨 | 来源:发表于2021-03-27 10:38 被阅读0次

map

   let arr = [1, 2, 4]
        let brr = arr.map {
            "No." + String($0)
        }
//["No.1", "No.2", "No.4"]

flatmap

1.可以过滤掉Nil
2.可以降维,把二维数据降成一维

  let arr = [[1, 2, 3], [6, 5, 4]]
        let brr = arr.flatMap {
            $0
        }
// [1, 2, 3, 6, 5, 4]
  let arr = ["sun", nil , "foot", "moon", nil]
        let brr = arr.flatMap {
            $0
        }
// ["sun", "foot", "moon"]

sort 排序

let arr = [1,3,2,4]
// 完整
let sort1 = arr { (a: Int, b: Int) -> Bool in
    return a < b
}
// 简略
let sort2 = arr { $0 < $1 }
// 极简
let sort3 = arr.sorted(by: <)
// [1,2,3,4]

filter 过滤

 let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
        let  arr = numbers.filter {  // (num) -> Bool in
            $0 % 2 == 0
        }
        // [2, 4, 6, 8]
        
        let Arr = [13, 45, 27, 80, 22, 53]
        let sort3 = Arr.sorted(by: <)
        // [13, 22, 27, 45, 53, 80]

unique 去除重复元素

[1, 2, 5, 1, 7].reduce([], { (a: [Int], b: Int) -> [Int] in
if a.contains(b) {
   return a
} else {
   return a + [b]
}
})
//  1, 2, 5, 7

相关文章

网友评论

      本文标题:map、flatmap、filter等使用

      本文链接:https://www.haomeiwen.com/subject/jkwehltx.html