Swift map和filter函数原型基础示例

来自:网络
时间:2023-07-25
阅读:
目录

map函数原型

/// Returns an array containing the results of mapping the given closure
/// over the sequence's elements.
///
/// In this example, `map` is used first to convert the names in the array
/// to lowercase strings and then to count their characters.
///
///     let cast = ["Vivien", "Marlon", "Kim", "Karl"]
///     let lowercaseNames = cast.map { $0.lowercased() }
///     // 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"]
///     let letterCounts = cast.map { $0.count }
///     // 'letterCounts' == [6, 6, 3, 4]
///
/// - Parameter transform: A mapping closure. `transform` accepts an
///   element of this sequence as its parameter and returns a transformed
///   value of the same or of a different type.
/// - Returns: An array containing the transformed elements of this
///   sequence.
@inlinable public func map<T>(_ transform: (Element) throws -> T) rethrows -> [T]
let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let lowercaseNames = cast.map {
    $0.lowercased()
}
print(lowercaseNames) // ["vivien", "marlon", "kim", "karl"]
let arrayString = ["Ann", "Bob", "Tom", "Lily", "HanMeiMei", "Jerry"]
// 计算每个元素的个数,生成个数数组
let arrayCount = arrayString.map { (str) -> Int in
    return str.count
}
print("arrayCount: \(arrayCount)")
// arrayCount: [3, 3, 3, 4, 9, 5]

filter函数原型

// @inlinable public func filter(_ isIncluded: (Element) throws -> Bool) rethrows -> [Element]
let array = [-5, 4, -3, 1, 2]
var resultArray = array.filter { (item) -> Bool in
    return item > 0
}
print(resultArray) // [4, 1, 2]
// 语法糖写法
resultArray = array.filter {
    $0 > 0
}
print(resultArray) // [4, 1, 2]

以上就是Swift map和filter函数原型基础示例的详细内容,更多关于Swift map filter函数原型的资料请关注其它相关文章!

返回顶部
顶部