[swift] 맵 함수를 사용하여 배열의 값이 특정한 조건을 만족하는지 확인하기
Swift에서 배열에 맵 함수를 사용하면 각 원소를 돌면서 특정한 동작을 수행할 수 있습니다. 이때, 배열의 값이 특정한 조건을 만족하는지 확인하고 싶다면 맵 함수에 클로저를 활용하면 됩니다.
다음은 배열의 값 중에서 10 이상인 것을 찾는 예제입니다.
let numbers = [5, 10, 15, 20, 25]
let newNumbers = numbers.map { number -> Int? in
if number >= 10 {
return number
} else {
return nil
}
}
let filteredNumbers = newNumbers.compactMap { $0 }
print(filteredNumbers) // [10, 15, 20, 25]
위 예제에서는 맵 함수를 사용하여 배열의 값 중에서 10 이상인 값을 찾고 있습니다. 클로저 안에서 조건을 확인한 뒤, 조건을 만족하지 않는 값은 nil
을 반환합니다. 이후, compactMap
을 사용하여 nil
값을 제거해 주면 조건을 만족하는 배열의 값들만 남게 됩니다.
이와 같이 맵 함수와 클로저를 활용하면 배열 내의 원소에서 특정한 조건을 만족하는지 확인할 수 있습니다.
참고 자료: