2016-03-14 3 views
1

У меня есть массив как это:Swift: Фильтрация определенного диапазона элементов из массива

let arr = ["one", "two", "three", "four", "five"] 

Теперь я хочу, чтобы создать новый массив, основанный на первом, но содержащем только определенный диапазон (как 1 к 3), в результате:

let arrFiltered = ["two", "three", "four"] 

Я знаю, что есть метод .filter, но я не мог узнать, как отфильтровать диапазон элементов из массива.

ответ

2

Вы можете использовать индексацию с диапазоном, он производит ArraySlice, что вы можете преобразовать обратно в массив с массивом инициализатором:

let arr = ["one", "two", "three", "four", "five"] 

let result = Array(arr[1...3]) // ["two", "three", "four"] 
+0

Отличное и простое решение! Спасибо. – ixany

+0

Спасибо. Пожалуйста. – Moritz

1

вара ListOfNumbers = [1, 2, 3, 10, 100] // массив чисел

listOfNumbers[0] // 1 
listOfNumbers[1] // 2 
listOfNumbers[2] // 3 
listOfNumbers[3] // 10 
listOfNumbers[4] // 100 
//listOfNumbers[5]// this gives an error uncomment this line to see it 

listOfNumbers[1...2] // [2, 3] this is a subsequence of the original array 
Смежные вопросы