Fatiamento de Arrays - Parte 2
Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 74 de 86.
O Swift fornece uma sintaxe abreviada conveniente para fatiar desde o início ou até o fim de um array. Em vez de especificar 0 ou o último índice explicitamente, você pode deixar um dos lados do intervalo vazio.
Para fatiar do início de um array até um índice específico, omita o valor inicial:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree) // [10, 20, 30]Da mesma forma, para fatiar de um índice específico até o fim, omita o valor final:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2) // [30, 40, 50]Você também pode usar a versão de intervalo fechado para incluir um ponto de partida específico:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3) // ["a", "b", "c", "d"]Esses intervalos unilaterais tornam seu código mais limpo quando você precisa dos primeiros elementos ou de tudo após um certo ponto. Lembre-se de envolver o resultado em Array() se você precisar de um array comum em vez de um ArraySlice.
Desafio
FácilEscreva uma função splitArray que recebe numbers e index e retorna todos os elementos a partir do índice fornecido até o final do array.
Use o operador de intervalo unilateral (...) para fatiar do índice especificado até o final, e retorne o resultado como um array comum.
Parâmetros:
numbers([Int]): O array a ser fatiadoindex(Int): O índice inicial (inclusivo)
Retorno: Um array contendo todos os elementos do índice fornecido até o final do array ([Int])
Exemplo: Se numbers for [5, 10, 15, 20, 25, 30] e index for 3, a função deve retornar [20, 25, 30].
Experimente você mesmo
func splitArray(numbers: [Int], index: 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 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 FizzBuzz14Arrays Avançados
Fatiamento de Arrays - Parte 1Fatiamento de Arrays - Parte 2Operadores de SequênciaO Método Contains3Optionais
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