Как получить сумму всех возможных значений из коллекции [Любого] массива

0

Вопрос

let array = [1,5,6,"50","Hi",54] as [Any]

У меня есть массив, подобный этому, в котором требуется сумма всех возможных значений из этой коллекции Использование функции более высокого порядка

higher-order-functions ios swift
2021-10-22 05:10:55
1

Лучший ответ

2

Это работает для Ints и Strings, которые могут быть преобразованы в Int. Он отбрасывает строки, которые не могут быть преобразованы, и игнорирует все другие типы.

let result = array.reduce(into: 0) { partialResult, item in
    switch item {
    case let someInt as Int:
        partialResult += someInt
    case let someString as String:
        if let intValue = Int(someString) {
            partialResult += intValue
        }
    default:
        break
    }
}
2021-10-22 05:18:55

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................