Métodos de Array
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 65 de 86.
Além de adicionar e remover elementos, os arrays Swift vêm com vários métodos úteis que tornam o trabalho com coleções mais fácil.
A propriedade isEmpty verifica se um array possui elementos:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falsePara remover todos os elementos de uma vez, use removeAll():
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []O método reversed() retorna os elementos em ordem inversa:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Para ordenação, use sorted() para obter um novo array ordenado, ou sort() para ordenar o array no local (in-place):
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]Observe que sorted() retorna um novo array enquanto deixa o original inalterado, ao passo que sort() modifica o array original diretamente.
Desafio
FácilEscreva uma função processScores que recebe scores e retorna uma string formatada com informações sobre as pontuações.
A função deve analisar o array e construir uma string de resultado com três informações.
Lógica:
- Verifique se o array está vazio usando
isEmpty - Se estiver vazio, retorne
"No scores" - Caso contrário, obtenha as pontuações ordenadas (ordem crescente) e as pontuações invertidas
- Retorne uma string combinando ambos os resultados
Parâmetros:
scores([Int]): Um array de pontuações inteiras
Retorno: Uma string no formato: "Sorted: [sorted_array], Reversed: [reversed_array]" ou "No scores" se o array estiver vazio (String)
Exemplo: Se scores for [85, 42, 97, 63], a função deve retornar:
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Nota: O array invertido deve ser o inverso do array original, não do ordenado.
Folha de consulta
Os arrays em Swift fornecem vários métodos úteis para trabalhar com coleções:
A propriedade isEmpty verifica se um array contém algum elemento:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseUse removeAll() para remover todos os elementos de um array:
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []O método reversed() retorna os elementos em ordem inversa:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Para ordenação, use sorted() para criar um novo array ordenado, ou sort() para ordenar no próprio local:
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() retorna um novo array sem modificar o original, enquanto sort() modifica o array diretamente.
Experimente você mesmo
func processScores(scores: [Int]) -> String {
// 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