Iterando sobre Elementos
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 69 de 86.
Agora que você sabe como criar e modificar arrays, vamos explorar como processar cada elemento um por um. O loop for-in torna isso incrivelmente simples.
Quando você usa um loop for-in com um array, o Swift automaticamente fornece cada elemento em ordem:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryA variável fruit assume cada valor do array durante cada iteração. Você pode nomear esta variável com qualquer nome que faça sentido para os seus dados.
Este padrão é perfeito para realizar operações em cada elemento, como calcular um total:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74Você também pode usar o loop para criar novos arrays com base em arrays 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 é uma das operações mais comuns na programação, então dominar este padrão será muito útil para você.
Desafio
FácilEscreva uma função countPositives que recebe numbers e retorna a contagem de números positivos no array.
Use um loop for-in para iterar por cada elemento e contar quantos são maiores que zero.
Parâmetros:
numbers([Int]): Um array de inteiros
Retorno: A contagem de números positivos (maiores que 0) no array (Int)
Exemplo: Se numbers for [-3, 5, 0, 8, -1, 12], a função deve retornar 3 (os números positivos são 5, 8 e 12).
Folha de consulta
Use um loop for-in para iterar por cada elemento de um array:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryA variável do loop (fruit neste exemplo) assume cada valor do array durante cada iteração.
Você pode usar loops for-in para calcular totais:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74Você também pode construir novos arrays iterando sobre os existentes:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]Experimente você mesmo
func countPositives(numbers: [Int]) -> Int {
// Escreva o código aqui
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa