var a = Array<String>()
//is
var a = [String]()
let animals = ["Giraffe", "Cow","Doggie","Bird"]
anibals.append("Ostrich")// let으로 초기화 해서 불가능
let animal = animals[5] // 범위밖이라 에러
// enumerating an Array
for aniaml in animals {
println("\(animal)")
}
배열을 어떠한 조건에 맞추어 재생성이 가능한 함수
filter(includeElement: (T) -> Bool) -> [T]
let arrayA: [Int] = [2,47,118,5,9]
let bigNumbers = arrayA.filter {(element) -> Bool in
return element >= 10
}
// is
let bigNumbers = [2,47,118,5,9].filter({ $0> 20 }) bigNumbers = [47, 118]
조건에 맞추어 배열의 값들을 변경하여 재생성이 가능한 함수
map(transform: (T) -> U) -> [U]
let stringified = [1,2,3].map{(element) -> String in
return String(element)
}
// is
let stringified: [String] = [1,2,3].map { String($0) }//Int 배열을 String 배열로 변경
특정 조건으로 배열 인덱스들을 계산하여 결과 값을 얻을 때 사용
reduce(initial: U, combine: (U, T) -> U) -> U
let sum = [1,2,3].reduce(0){(result, element)->Int in
return result + element
}
// is
let sum: Int = [1,2,3].reduce(0) { $0 + $1 } //reduce(0)의 0은 result의 초기 값, sum = 6
배열의 인덱스를 조건에 맞추어 정렬하는 함수
let sortArray = [1,3,2].sorted{ (front, behind) -> Bool in
return front > behind
}
// is
let sortArray = [1,3,2].sorted{ $0>$1}//[3,2,1]
참조
언클린 코더