Swift - поиск в массиве, если содержит строку и добавление в другой массив - PullRequest
0 голосов
/ 27 июня 2019

У меня есть массив:

let arr = ["Ivan Ivanov", "Bogdan Bogdanov", "Georgi Milchev", "Bogdan Petkov", "Vladimir Zahariev"]
let name = "Bogdan"

Поиск, если массив содержит (имя) и добавление результата в новый массив без цикла.Таким образом, новый массив должен быть [«Богдан Богданов», «Богдан Петков»]

Попытка: if arr.contains(where: {$0 == name}) { newArray.append($0) }

, но он не работает.Ошибка: Anonymous closure argument not contained in a closure

1 Ответ

1 голос
/ 27 июня 2019

Вам нужно

let res = arr.compactMap { $0.contains(name) ? $0.components(separatedBy: " ").last! : nil  }
...