Iterar sobre elementos
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 69 de 86.
Ahora que ya sabes cómo crear y modificar arrays, exploremos cómo procesar cada elemento uno por uno. El bucle for-in hace que esto sea increíblemente sencillo.
Cuando usas un bucle for-in con un array, Swift te da automáticamente cada elemento en orden:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryLa variable fruit toma cada valor del array durante cada iteración. Puedes nombrar esta variable de cualquier forma que tenga sentido para tus datos.
Este patrón es perfecto para realizar operaciones en cada elemento, como calcular un total:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74También puedes usar el bucle para crear nuevos arrays a partir de los existentes:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]Iterar sobre arrays es una de las operaciones más comunes en programación, por lo que dominar este patrón te será de gran utilidad.
Desafío
FácilEscribe una función countPositives que recibe numbers y devuelve la cantidad de números positivos en el arreglo.
Usa un bucle for-in para iterar a través de cada elemento y contar cuántos son mayores que cero.
Parámetros:
numbers([Int]): Un arreglo de enteros
Devuelve: La cantidad de números positivos (mayores que 0) en el arreglo (Int)
Ejemplo: Si numbers es [-3, 5, 0, 8, -1, 12], la función debería devolver 3 (los números positivos son 5, 8 y 12).
Hoja de referencia
Usa un bucle for-in para iterar a través de cada elemento de un array:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryLa variable del bucle (fruit en este ejemplo) toma cada valor del array durante cada iteración.
Puedes usar bucles for-in para calcular totales:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74También puedes construir nuevos arrays iterando sobre los existentes:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]Pruébalo tú mismo
func countPositives(numbers: [Int]) -> Int {
// Escribe el código aquí
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica