Swift 3 сортировка больших объемов данных в массивах
У меня есть массив строк с большим количеством данных, только некоторые из которых я хочу. Я разделяю хорошие данные с помощью разделителя, например:
var result = contentArray[1].components(separatedBy: ",")
Это оставляет меня с мусорными данными в четных индексах массива результата и хорошими данными в нечетных индексах.
Теперь я хочу работать только с хорошими данными, чтобы потом все упростить. Я могу сделать это, создав другой массив, используя цикл for с шагом...
Но это похоже как минимум на один дополнительный шаг. Есть ли способ сортировки данных в первом массиве без создания 2 массивов? Это приведет к тому, что приложение создаст 3 массива с большими объемами данных, когда мне кажется, что я смогу сделать это за 1 или 2. Я планирую сделать это как минимум с 20 наборами данных, так что, кажется, много лишних массивы в памяти
1 ответ
Вы можете пойти так
let filterArray = result.indices.flatMap { $0 % 2 != 0 ? nil : result[$0] }
print(filterArray)
Редактировать: если вы хотите сохранить выходные данные фильтра в одном массиве, попробуйте вот так.
var result = contentArray[1].components(separatedBy: ",")
result = result.indices.flatMap { $0 % 2 != 0 ? nil : result[$0] }
print(result)