Filter
let numbers = [1, 2, 3, 4, 3, 3]
// Filter 사용
let filtered = numbers.filter{$0 == 3}
filtered // [3, 3, 3]
// for in
var filteredArray = [Int]()
for number in numbers {
if number == 3 {
filteredArray.append(number)
}
}
filteredArray // [3, 3, 3]
Filter는 배열중 원하는 값의 배열을 추출해 배열로 만들어 주는 고차함수
Map
// Map 사용
let transformed = [1, 2, 3, 4].map({$0 * 2})
transformed // [2, 4, 6, 8]
// for in
var transformedArray = [Int]()
for number in [1, 2, 3, 4] {
transformedArray.append(number * 2)
}
transformedArray // [2, 4, 6, 8]
Map은 원하는 형태로 배열을 변형시켜 배열로 만들어주는 고차함수
Reduce
// Reduce 사용
let sum = [1, 2, 3, 4].reduce(0, {sum, number in sum + number})
sum // 10
// for in
var sumElements = 0
for number in [1, 2, 3, 4] {
sumElements += number
}
sumElements // 10
Reduce는 배열의 모든 수를 합쳐 값을 리턴해주는 고차함수
'Swift Algorithms' 카테고리의 다른 글
Linked List (0) | 2020.07.06 |
---|---|
Time Complexity (0) | 2020.07.06 |
6. Fibonacci Sequence (0) | 2020.07.03 |
5. Reverse every other word (0) | 2020.07.03 |
4. Most Common Name in Array (0) | 2020.07.02 |