Menu
Coddy logo textTech

Slicing de Arrays Parte 1

Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 73 de 86.

A veces no necesitas un array completo, solo una parte de él. Swift facilita la extracción de un subconjunto de elementos utilizando la segmentación de arrays (array slicing) con operadores de rango.

Para obtener un segmento (slice), se utiliza un rango dentro de los corchetes de subíndice. El enfoque más común utiliza el operador de rango semiabierto (..<), que incluye el índice inicial pero excluye el índice final:

let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)  // [20, 30, 40]

Aquí, 1..<4 nos da los elementos en los índices 1, 2 y 3—pero no el índice 4. Esto es útil cuando sabes exactamente dónde quieres detenerte.

Si quieres incluir el índice final, usa el operador de rango cerrado (...):

let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice)  // ["b", "c", "d"]

Un detalle importante: el resultado de segmentar es un ArraySlice, no un Array normal. Si necesitas un array real, envuélvelo con Array():

let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced)  // [1, 2, 3]
challenge icon

Desafío

Fácil

Escribe una función getMiddleElements que reciba numbers, start y end y devuelva una porción del arreglo desde el índice inicial hasta (pero sin incluir) el índice final.

Usa el operador de rango semiabierto (..<) para extraer la porción especificada del arreglo y devolverla como un arreglo normal.

Parámetros:

  • numbers ([Int]): El arreglo a segmentar
  • start (Int): El índice inicial (inclusive)
  • end (Int): El índice final (exclusivo)

Devuelve: Un arreglo que contiene los elementos desde el índice inicial hasta (pero sin incluir) el índice final ([Int])

Ejemplo: Si numbers es [10, 20, 30, 40, 50, 60], start es 1 y end es 4, la función debería devolver [20, 30, 40].

Pruébalo tú mismo

func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
    // Escribe el código aquí
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos