[swift] 고차 함수를 사용하여 배열 내에서 특정 원소를 찾는 방법은 어떻게 되나요?
Swift에서는 고차 함수를 사용하여 배열 내에서 특정 원소를 찾을 수 있습니다. 고차 함수는 배열을 순회하면서 특정 조건을 충족하는 원소를 찾는 동작을 수행합니다. 여기에는 filter
, contains
, first
, index
, index(where)
등의 함수가 포함됩니다.
- filter 함수를 사용하여 특정 조건을 충족하는 원소 찾기
let numbers = [1, 2, 3, 4, 5] let evenNumbers = numbers.filter { $0 % 2 == 0 }
위의 예제는
numbers
배열에서 짝수를 찾아evenNumbers
배열에 저장합니다. - contains 함수를 사용하여 특정 원소가 배열에 있는지 확인하기
let fruits = ["apple", "banana", "orange"] let hasBanana = fruits.contains("banana")
위의 예제는
fruits
배열에 “banana”가 있는지 확인합니다. 결과는hasBanana
에 저장됩니다. - first 함수를 사용하여 특정 조건을 충족하는 첫 번째 원소 찾기
let numbers = [1, 2, 3, 4, 5] let firstEvenNumber = numbers.first { $0 % 2 == 0 }
위의 예제는
numbers
배열에서 첫 번째로 발견된 짝수를 찾아firstEvenNumber
에 저장합니다. - index 함수를 사용하여 특정 원소의 인덱스 찾기
let fruits = ["apple", "banana", "orange"] if let bananaIndex = fruits.index(of: "banana") { print("banana is at index \(bananaIndex)") } else { print("banana is not found") }
위의 예제는
fruits
배열에서 “banana”의 인덱스를 찾아 출력합니다. - index(where:) 함수를 사용하여 특정 조건을 충족하는 첫 번째 원소의 인덱스 찾기
let numbers = [1, 2, 3, 4, 5] if let index = numbers.index(where: { $0 % 2 == 0 }) { print("first even number is at index \(index)") } else { print("no even number found") }
위의 예제는
numbers
배열에서 첫 번째로 발견된 짝수의 인덱스를 찾아 출력합니다.
고차 함수를 사용하면 배열 내에서 원하는 원소를 간편하게 찾을 수 있습니다. 필요한 조건에 따라 적절한 함수를 선택하여 사용하면 됩니다. 출처 : Swift 공식 문서