Modificar Arrays
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 64 de 86.
Los arreglos se vuelven verdaderamente útiles cuando puedes cambiar su contenido. Para modificar un arreglo, debes declararlo con var en lugar de let.
Puedes cambiar un elemento existente asignando un nuevo valor a un índice específico:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow"
print(colors) // ["Red", "Yellow", "Blue"]Para añadir nuevos elementos, utiliza el método append para un solo elemento, o el operador += para añadir varios elementos a la vez:
var numbers = [1, 2, 3]
numbers.append(4)
print(numbers) // [1, 2, 3, 4]
numbers += [5, 6]
print(numbers) // [1, 2, 3, 4, 5, 6]Para insertar un elemento en una posición específica, utiliza el método insert:
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1)
print(fruits) // ["Apple", "Banana", "Orange"]Para eliminar elementos, usa remove(at:) con el índice que deseas eliminar:
var items = ["A", "B", "C", "D"]
items.remove(at: 2)
print(items) // ["A", "B", "D"]Recuerda, cuando eliminas un elemento, todos los elementos posteriores se desplazan hacia abajo para llenar el espacio.
Desafío
FácilEscribe una función modifyInventory que reciba un arreglo de elementos, un nuevo elemento para añadir y un índice para eliminar, y luego devuelva el arreglo modificado.
Realiza las siguientes operaciones en orden:
- Cambia el primer elemento a
"Updated" - Añade el nuevo elemento al final del arreglo
- Elimina el elemento en el índice especificado
Parámetros:
items([String]): El arreglo inicial de elementosnewItem(String): El elemento a añadirremoveIndex(Int): El índice del elemento a eliminar (después de añadir)
Devuelve: El arreglo modificado después de todas las operaciones ([String])
Ejemplo: Si items es ["A", "B", "C"], newItem es "D" y removeIndex es 2, la función debería:
- Cambiar el primer elemento:
["Updated", "B", "C"] - Añadir "D":
["Updated", "B", "C", "D"] - Eliminar en el índice 2:
["Updated", "B", "D"]
Hoja de referencia
Los arreglos declarados con var pueden ser modificados, mientras que los arreglos declarados con let son inmutables.
Cambia un elemento asignando un nuevo valor a un índice específico:
var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow" // ["Red", "Yellow", "Blue"]Agrega un solo elemento con append:
var numbers = [1, 2, 3]
numbers.append(4) // [1, 2, 3, 4]Agrega múltiples elementos con +=:
numbers += [5, 6] // [1, 2, 3, 4, 5, 6]Inserta un elemento en una posición específica con insert(_:at:):
var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1) // ["Apple", "Banana", "Orange"]Elimina un elemento en un índice específico con remove(at:):
var items = ["A", "B", "C", "D"]
items.remove(at: 2) // ["A", "B", "D"]Cuando se elimina un elemento, todos los elementos posteriores se desplazan hacia abajo para llenar el espacio.
Pruébalo tú mismo
func modifyInventory(items: [String], newItem: String, removeIndex: Int) -> [String] {
// Escribe el código aquí
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica12Fundamentos de Arrays
Declarar un ArrayAcceder a elementosModificar ArraysMétodos de ArrayResumen - Lista de productosResumen - Array invertidoTuplas