Срезы массивов. Часть 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Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический вводПотренируйтесь самостоятельно: Песочница Swift