Перебор элементов
Часть раздела Основы путешествия по Swift на Coddy. Урок 69 из 86.
Теперь, когда ты знаешь, как создавать и изменять массивы, давай разберёмся, как обрабатывать каждый элемент по очереди. Цикл for-in делает это невероятно просто.
Когда ты используешь цикл for-in с массивом, Swift автоматически предоставляет тебе каждый элемент по порядку:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryПеременная fruit принимает каждое значение из массива на каждой итерации. Ты можешь назвать эту переменную как угодно, если это имеет смысл для твоих данных.
Этот шаблон идеально подходит для выполнения операций над каждым элементом, например для вычисления общей суммы:
let prices = [9.75, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.5Также можно использовать цикл для создания новых массивов на основе существующих:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]Перебор массивов — одна из самых распространённых операций в программировании, поэтому освоение этого шаблона будет полезно для тебя.
Задание
ЛегкоНапиши функцию countPositives, которая принимает numbers и возвращает количество положительных чисел в массиве.
Используй цикл for-in, чтобы перебрать каждый элемент и посчитать, сколько из них больше нуля.
Параметры:
numbers([Int]): массив целых чисел
Возвращает: количество положительных чисел (больше 0) в массиве (Int)
Пример: если numbers равно [-3, 5, 0, 8, -1, 12], функция должна вернуть 3 (положительные числа — 5, 8 и 12).
Попробуйте сами
func countPositives(numbers: [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