Конвертировать Swift в Kotlin код: поиск по организациям и акциям - PullRequest
0 голосов
/ 18 мая 2019

Существует быстрый код 4, который ищет организации и акции внутри организации:

partnerBranchsFiltered = partnerBranchs.reduce(into: []) { (result, partner) in
    let partnerNameMatches = partner.name?.lowercased().contains(searchText.lowercased()) ?? false
    if partnerNameMatches {
        result.append(partner)
    } else {
        let rowMatches = partner.stocks!.filter({ (stock) -> Bool in
            return stock.title?.lowercased().contains(searchText.lowercased()) ?? false
        })
        if !rowMatches.isEmpty {
            var filteredPartnerBranch = partner
            filteredPartnerBranch.stocks = rowMatches
            result.append(filteredPartnerBranch)
        }
    }
}

Нам нужно сделать то же самое, но только на Kotlin.Заранее спасибо:)

Сделано с foreach, но код работает неправильно:

if (partnerBranchsList != null) {
            partnerBranchsList!!.forEach { partnerBranch ->
                val partnerNameMatches = partnerBranch.name?.toLowerCase()?.contains(text.toLowerCase()) ?: false

                if (partnerNameMatches) {
                    partnersListFiltered.add(partnerBranch)
                } else {
                    val rowMatches = partnerBranch.stocks!!.filter { stock ->
                        stock.title?.toLowerCase()?.contains(text.toLowerCase()) ?: false
                    }

                    if (!rowMatches.isEmpty()) {
                        val partnerBranchsFiltered = partnerBranch
                        partnerBranchsFiltered.stocks = rowMatches
                        partnersListFiltered.add(partnerBranchsFiltered)
                    }
                }
            }
        }

, который не работает должным образом: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...