Eliminar y buscar elementos en arrays Swift

Resumen

Manipular arrays en Swift va más allá de crearlos: necesitas saber eliminar elementos, fusionar listas y verificar si un valor existe. Si estás aprendiendo desarrollo en iOS, dominar estas funciones te permite construir lógica real para apps que gestionan colecciones de datos, desde inventarios hasta listas de tareas.

¿Cómo agregar todos los elementos de una lista a otra en Swift?

Cuando ya tienes un array y quieres incorporar el contenido completo de otro, Swift ofrece una variante específica del método append que resuelve el problema en una sola línea.

La función append(contentsOf:) recibe como parámetro otra lista y agrega todos sus elementos al final del array original. Por ejemplo, si tienes una lista de frutas y creas otra llamada nuevasFrutas con valores como naranja y durazno, basta con escribir frutas.append(contentsOf: nuevasFrutas) para fusionarlas.

¿Cuál es la diferencia entre append y append contentsOf? append agrega un único elemento al final del array, mientras que append(contentsOf:) agrega todos los elementos de otra colección de una sola vez.

swift var nuevasFrutas = ["naranja", "durazno"] frutas.append(contentsOf: nuevasFrutas) print(frutas)

¿Cómo saber si un elemento existe dentro de un array en Swift?

Validar la presencia de un valor es una operación común cuando filtras datos o evitas duplicados. Swift lo resuelve con el método contains.

Esta función devuelve un booleano: true si el elemento está en la lista, false si no. Solo necesitas pasar como parámetro el valor que buscas.

swift var existeFresa = frutas.contains("fresa") var existeBanano = frutas.contains("banano")

Si tu array contiene fresa pero no banano, la primera variable será true y la segunda false.

¿Por qué Swift distingue entre mayúsculas y minúsculas al comparar strings?

Aquí entra un detalle clave: Swift trata los strings como case sensitive. Eso significa que "Fresa" con F mayúscula es diferente de "fresa" con minúscula, aunque para ti representen lo mismo.

Si escribes frutas.contains("Fresa") y tu lista tiene "fresa", el resultado será false. Este comportamiento aplica a cualquier comparación de cadenas en el lenguaje, así que tenlo presente cuando valides entradas de usuario o filtres datos.

¿Cómo comparo strings ignorando mayúsculas en Swift? Más adelante en el curso verás métodos como lowercased() o caseInsensitiveCompare que normalizan los textos antes de compararlos.

¿Cómo eliminar elementos de un array en Swift?

Swift ofrece tres funciones distintas para remover elementos, según el escenario que enfrentes.

¿Cómo eliminar por posición, el último elemento o todos a la vez?

Cada función tiene un caso de uso claro y se invoca directamente sobre el array:

  • remove(at:): elimina el elemento en la posición indicada. Por ejemplo, frutas.remove(at: 2) borra la fruta ubicada en el índice 2, es decir, la tercera de la lista.
  • removeLast(): elimina el último elemento del array sin que tengas que conocer su índice.
  • removeAll(): vacía completamente la lista y la deja sin elementos.

swift frutas.remove(at: 2) frutas.removeLast() frutas.removeAll()

Después de removeAll(), si imprimes el array verás una lista vacía.

Un detalle práctico: no siempre vas a conocer la posición exacta del elemento que quieres eliminar, pero sí su valor. Ese caso, eliminar por contenido en lugar de por índice, se resuelve con técnicas que verás más adelante en el curso.

Conceptos y habilidades que practicaste con arrays en Swift

Este bloque te dejó herramientas concretas para manipular colecciones en Swift:

  • append(contentsOf:) para fusionar arrays en una sola operación.
  • contains para validar la existencia de un elemento y obtener un booleano.
  • case sensitivity en strings, una característica que afecta cualquier comparación textual.
  • remove(at:), removeLast() y removeAll() como las tres formas principales de eliminar datos de un array.

En la siguiente sesión vas a explorar los conjuntos (sets) y entenderás en qué se diferencian de los arreglos. ¿Ya intentaste validar un string con mayúsculas distintas en tu propio proyecto? Cuéntame en los comentarios qué resultado obtuviste.