전달 인자를 함수로 전달받거나, 함수 실행의 결과를 함수로 반환하는 함수
컨테이너 내부의 기존 데이터를 변형하여 새로운 컨테이너 생성
let numbers: [Int] = [0,1,2,3,4]
var doubleNumbers: [Int]
var strings: [String]
doubleNumbers = [Int]()
strings = [String]()
for number in numbers{
doubleNumbers.append(number * 2)
strings.append("\(number)")
}
print(doubleNumbers)
print(strings)
doubleNumbers = numbers.map({
(number: Int) -> Int in
return number * 2
})
strings = numbers.map({
(number: Int) -> String in
return "\(number)"
})
print(doubleNumbers)
print(strings)
doubleNumbers = numbers.map{ $0 * 2}
print(doubleNumbers)
컨테이너 내부의 값을 걸러서 새로운 컨테이너로 추출
let evenNumbers: [Int] = numbers.filter{
(number: Int) -> Bool in
return number % 2 == 0
}
print(evenNumbers)
let oddNumbers: [Int] = numbers.filter{ $0 % 2 != 0}
print(oddNumbers)
컨테이너 내부의 콘텐츠를 하나로 통합
let someNumbers: [Int] = [2,8,15]
var result: Int = 0
for number in someNumbers{
result += number
}
print(result)
let sum: Int = someNumbers.reduce(0,{
(first: Int, second: Int) -> Int in
return first + second
})
print(subtract)
let sumFromThree = someNumbers.reduce(3) {$0 + $1}
print(sumFromThree)
print(someNumbers.reduce(2){$0 + $1})