SwiftのArrayがもつ非破壊的メソッド「map」
var numbers:Array<Int> = [0,2,4,6,8] var doubleNumbers:Array<Int> = numbers.map({ (number:Int) -> Int in return number * 2 }) numbers doubleNumbers
結果はこちら
[0,2,4,6,8] [0,4,8,12,16]
numbersから値をひとつずつとってきて2倍したものを返してます。
非破壊的なので、元のnumbersには変化なし。(クロージャですね)
構文はこんな感じです。
(配列).map({ (配列の要素:要素の型) -> 戻り値の型 in /*処理*/ return 戻り値 })
また、下記のように短く書くこともできます。
var halfNumbers = numbers.map({numbers in numbers/2}) numbers halfNumbers
[0,2,4,6,8] [0,1,2,3,4]