【Swift】インデックス付きでmap, reduce, filterを使ってみる
Swift 3.0
使いどころがあるかは分かりませんが実験的に。
参考: Swiftでのenumerateの使い方
map
let array = [1, 2, 3, 4]
let m = array.enumerated().map { "\($0.0): \($0.1)" } // インデックスと要素のペア
print(m)
// ["0: 1", "1: 2", "2: 3", "3: 4"]
reduce
let array = [1, 2, 3, 4]
let r = array.enumerated().reduce(0) { $0 + $1.0 * $1.1 } // インデックスと要素の積の総和
print(r)
// 20 <- 0*1 + 1*2 + 2*3 + 3*4
filter
let array = [1, 2, 3, 4]
let f = array.enumerated().filter { $0.0 * $0.1 > 3 }.map { $0.1 } // インデックスと要素の積が3より大きいもの
print(f)
// [3, 4]
最後に
enumerateでの値の受け取り方についての詳しい実験は別の記事にしたいと思います。
【Swift】enumerateを使ったときの値の受け取り方
追記: 記事にしました。
Author And Source
この問題について(【Swift】インデックス付きでmap, reduce, filterを使ってみる), 我々は、より多くの情報をここで見つけました https://qiita.com/ken0nek/items/4a29d3dc55bff5201e1c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .