💨

map と filter の違い

に公開

なぜか毎回mapがわからなくなる!!

役割: 各要素を「変換」する
返り値: 元の配列と同じ数の要素を持つ新しい配列

例えば

let numbers = [1, 2, 3, 4, 5]

// すべての要素を2倍に変換
let doubled = numbers.map { $0 * 2 }
print(doubled) // [2, 4, 6, 8, 10]

👉 要素数は変わらず、内容だけが変化します。

filterは英語名で意味どおり、抽出するで覚える!!

役割: 条件に合うものだけ「抽出」する
返り値: 条件を満たした要素だけが入った新しい配列
イメージ: ふるいにかけて必要なものだけ取り出す

let numbers = [1, 2, 3, 4, 5]

// 偶数だけ取り出す
let evens = numbers.filter { $0 % 2 == 0 }
print(evens) // [2, 4]

Discussion