[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 값을 제거해 주면 조건을 만족하는 배열의 값들만 남게 됩니다.

이와 같이 맵 함수와 클로저를 활용하면 배열 내의 원소에서 특정한 조건을 만족하는지 확인할 수 있습니다.

참고 자료: