Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Escreva 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 fatiado
  • index (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].

Folha de consulta

Swift fornece uma sintaxe abreviada para fatiar arrays do início ou até o fim, deixando um lado do intervalo vazio.

Para fatiar do início até um índice específico, omita o valor inicial:

let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]  // [10, 20, 30]

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...]  // [30, 40, 50]

Use a versão de intervalo fechado para incluir um índice final específico:

let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]  // ["a", "b", "c", "d"]

Intervalos unilaterais retornam um ArraySlice. Envolva o resultado em Array() para convertê-lo em um array comum:

let regularArray = Array(numbers[2...])

Experimente você mesmo

func splitArray(numbers: [Int], index: Int) -> [Int] {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

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