Menu
CoddyTech

Методы массивов

Часть раздела Основы путешествия по 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() изменяет исходный массив напрямую.

challenge icon

Задание

Легко
Напиши функцию processScores, которая принимает scores и возвращает отформатированную строку с информацией о баллах.

Функция должна проанализировать массив и сформировать строку результата с тремя элементами информации.

Логика:

  1. Проверь, пуст ли массив, используя isEmpty
  2. Если массив пуст, верни "No scores"
  3. В противном случае получи отсортированные баллы (по возрастанию) и баллы в обратном порядке
  4. Верни строку, объединяющую оба результата

Параметры:

  • 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 {
    // Напишите код здесь
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift