0
Есть ли более быстрый/более сжатый способ получить несколько индексов из массива, кроме циклов и добавления? Может быть, однострочный функциональный вариант следующего?Более быстрый способ получить несколько элементов из массива в Swift?
let names: [String] = ["John", "Mary", "Hugo", "Bill", "Andrea"]
let indexesToGet = [0, 1, 3]
var result: [String] = []
for i in 0..<indexesToGet.count {
result.append(names[indexesToGet[i]])
}
return result
//returns ["John", "Mary", "Bill"]
Код, который вы отправили, не имеет большого смысла. Фактически вы не используете числа в 'indexesToGet'. – rmaddy
Как сказал rmaddy 'result.append (names [i])' должен быть 'result.append (names [indexToGet [i]]), и вывод будет' ["John", "Mary", "Bill"] ' –
Связанный: [Фильтровать по индексам] (http://stackoverflow.com/questions/40264624/filter-array-by-indices). –