Срезы массивов. Часть 2
Часть раздела Основы путешествия по Swift на Coddy. Урок 74 из 86.
Swift предоставляет удобный сокращённый синтаксис для среза массива от начала или до конца. Вместо того чтобы явно указывать 0 или последний индекс, можно оставить одну сторону диапазона пустой.
Чтобы получить срез массива от начала до определённого индекса, пропустите начальное значение:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree) // [10, 20, 30]Аналогично, чтобы получить срез от определённого индекса до конца, пропусти конечное значение:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2) // [30, 40, 50]Также можно использовать вариант с закрытым диапазоном, чтобы включить определённый конечный индекс:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3) // ["a", "b", "c", "d"]Эти диапазоны с одной границей делают код чище, когда тебе нужны первые несколько элементов или всё после определённой позиции. Не забудь обернуть результат в Array(), если тебе нужен обычный массив вместо ArraySlice.
Задание
ЛегкоНапиши функцию splitArray, которая принимает numbers и index и возвращает все элементы от заданного индекса до конца массива.
Используй оператор одностороннего диапазона (...), чтобы получить срез от указанного индекса до конца, и верни результат в виде обычного массива.
Параметры:
numbers([Int]): Массив, из которого нужно получить срезindex(Int): Начальный индекс (включительно)
Возвращает: Массив, содержащий все элементы от заданного индекса до конца массива ([Int])
Пример: Если numbers — это [5, 10, 15, 20, 25, 30], а index — это 3, функция должна вернуть [20, 25, 30].
Попробуйте сами
func splitArray(numbers: [Int], index: Int) -> [Int] {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift