閉包與陣列的Map方法

範例:

var numberArray = [1,3,5,2,4,6]

let newNumber = numberArray.map ({
    (number:Int) in
    print(number)

})
//印出:1,3,5,2,4,6

若不是要「印出來每次的結果」,而是要「回傳的範例」:

var numberArray = [1,3,5,2,4,6]

let newNumber = numberArray.map ({
    (number:Int)->Int in
    return number

})
//印出:1,3,5,2,4,6

轉成省略簡寫的Closure:

var numberArray = [1,3,5,2,4,6]

let newNumber = numberArray.map {in $0}
print(newNumber)
//印出:1,3,5,2,4,6

練習:請將下列Closure簡寫化

var numberArray = [1,3,5,2,4,6]

let newNumber = numberArray.map({
    (a:Int) -> String in
    return "This is number \(a)"
})
print(newNumber)
//印出:This is number 1, This is number 2....

解答:

var numberArray = [1,3,5,2,4,6]

let newNumber = numberArray.map{"This is number \($0)"}

print(newNumber)
//印出:This is number 1, This is number 2....

results matching ""

    No results matching ""