Методы массивов
Часть раздела Основы путешествия по 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]"Примечание: Перевернутый массив должен быть обратным представлением оригинального массива, а не отсортированного.
Шпаргалка
Массивы 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() изменяет массив напрямую.
Попробуйте сами
func processScores(scores: [Int]) -> String {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Повторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод12Основы массивов
Объявление массиваДоступ к элементамИзменение массивовМетоды массивовПовторение — Список товаровПовторение — Перевернутый массивКортежи