Методы массивов
Часть раздела Основы путешествия по Swift на Coddy. Урок 65 из 86.
Помимо добавления и удаления элементов, массивы Swift имеют несколько полезных методов, которые упрощают работу с коллекциями.
Свойство isEmpty проверяет, есть ли в массиве элементы:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseЧтобы удалить все элементы сразу, используй removeAll():
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []Метод reversed() возвращает элементы в обратном порядке:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Для сортировки используй sorted(), чтобы получить новый отсортированный массив, или sort(), чтобы отсортировать массив на месте:
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]Обрати внимание, что sorted() возвращает новый массив, оставляя исходный без изменений, тогда как sort() изменяет исходный массив напрямую.
Задание
ЛегкоНапиши функцию processScores, которая принимает scores и возвращает отформатированную строку с информацией о баллах.
Функция должна проанализировать массив и сформировать строку результата с тремя элементами информации.
Логика:
- Проверь, пуст ли массив, используя
isEmpty - Если массив пуст, верни
"No scores" - В противном случае получи отсортированные баллы (по возрастанию) и баллы в обратном порядке
- Верни строку, объединяющую оба результата
Параметры:
scores([Int]): массив целочисленных баллов
Возвращаемое значение: строка в формате: "Sorted: [sorted_array], Reversed: [reversed_array]" или "No scores", если массив пуст (String)
Пример: Если scores равно [85, 42, 97, 63], функция должна вернуть:
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Примечание: обратный массив должен быть массивом исходного массива в обратном порядке, а не отсортированного.
Попробуйте сами
func processScores(scores: [Int]) -> String {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Прерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический ввод12Основы массивов
Объявление массиваДоступ к элементамИзменение массивовМетоды массивовПовторение — список продуктовПовторение — массив в обратном порядкеКортежиПотренируйтесь самостоятельно: Песочница Swift