🌼

【Swift】map, filter, reduceの使い方

2022/01/27に公開

map

// MARK: - サンプルコード
let fruits = [
    "🍎",
    "🍌",
    "🍊",
    "🍑",
    "🍇"
]

// 省略しない書き方
fruits.map { (fruit) -> String in
    "😋" + fruit
}

// 省略した書き方
fruits.map {
    "😋" + $0
}


// MARK: - 実行結果
// ["😋🍎", "😋🍌", "😋🍊", "😋🍑", "😋🍇"]

filter

// MARK: - サンプルコード
let fruits = [
    "🍎",
    "🍌",
    "🍊",
    "🍑",
    "🍇",
    "🍊"
]

// 省略しない書き方
fruits.filter { (fruit) -> Bool in
    fruit == "🍊"
}

// 省略した書き方
fruits.filter {
    $0 == "🍊"
}


// MARK: - 実行結果
// ["🍊", "🍊"]

reduce

// MARK: - サンプルコード
let fruits = [
    "🍎",
    "🍌",
    "🍊",
    "🍑",
    "🍇"
]

// 省略しない書き方
fruits.reduce("") { (concatenateFruits, fruit) -> String in
    concatenateFruits + fruit
}

// 省略した書き方
fruits.reduce("", +)


// MARK: - 実行結果
// "🍎🍌🍊🍑🍇"

Discussion