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.
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 móduloAtribuição compostaRecapitulação - Matemática simplesOperadores de comparação7Entrada e Saída Básicas
Função printInterpolação de stringsEntrada com readlineConversão de tiposRecapitulação - Até 120Recapitulação - Verdadeiro ou falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoRótulos de argumentosRevisão - função SigmaRevisão - função de validaçãoValores padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeradoIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de tipoNúmerosStringBooleanoConvenções de nomenclaturaRecapitulação - Inicializar variáveis5Operadores — Parte 2
Operadores lógicos — Parte 1Operadores lógicos — Parte 2Revisão — Lógica simplesOperadores lógicos — Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz3Optionais
O que são OptionaisDesembrulhando com If LetGuard LetOperador de Coalescência de NilRecapitulação - Desembrulhamento Seguro6Tomada de Decisões
Instrução IfIf - ElseRecapitulação - Calculadora SimplesInstrução SwitchSwitch com Intervalos9Laços de Repetição
Laço For-InLaço WhileLaço Repeat-WhileBreakContinueRevisão - FatorialIntervalos em LaçosLaço AninhadoRevisão - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRevisão - Lista de ProdutosRevisão - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Swift