Swift - 如果包含字符串则在数组中搜索并追加到另一个数组

Swift - Search in array if contains string and append to another array

我有一个数组:

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

搜索数组是否包含(名称)并将结果追加到新数组而不循环。 所以新数组必须是 ["Bogdan Bogdanov", "Bogdan Petkov"]

正在尝试:if arr.contains(where: {[=12=] == name}) { newArray.append([=12=]) }

但它不起作用。错误:Anonymous closure argument not contained in a closure

你需要

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