Menu
Coddy logo textTech

Segmentación 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, sino solo una parte de él. Swift facilita extraer un subconjunto de elementos mediante el rebanado de arrays con operadores de rango.

Para obtener un slice, usas un rango dentro de los corchetes de subíndice. El enfoque más común usa el operador de rango semiabierto (..<), que incluye el índice de inicio, 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 proporciona los elementos en los índices 1, 2 y 3, pero no en el índice 4. Esto resulta ú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 usar slice es un ArraySlice, no un Array normal. Si necesitas un array verdadero, 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 tome numbers, start y end, y devuelva un slice del arreglo desde el índice inicial hasta (sin incluirlo) el índice final.

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

Parámetros:

  • numbers ([Int]): El arreglo que se va a dividir
  • start (Int): El índice inicial (inclusivo)
  • end (Int): El índice final (exclusivo)

Devuelve: Un arreglo que contiene los elementos desde el índice inicial hasta (sin incluirlo) 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

Practica por tu cuenta: Playground de Swift