Cómo insertar un elemento en un determinado índice de un array
En este articulo veremos como es posible insertar un nuevo elemento en cualquier posición de un array.
Partamos de un ejemplo sencillo.
const meses = ["enero", "marzo", "junio"]
Imagina que nos damos cuenta que en nuestro array meses se nos ha olvidadoincluir febrero. Si añadimos un nuevo elemento con push() este se añadirá al final del array y nosotros necesitamos que febrero esté entre enero y marzo.
¿Cómo usar splice?
Para añadir un elemento, podemos usar el método splice que nos permite cambiar el contenido de un array eliminando o agregando nuevos elementos.
Splice recibe los siguientes argumentos
splice(start, [deleteCount], [items1,item2, item3, ...itemN])
start Es el índice desde donde comenzaremos a cambiar nuestro array
deleteCount (opcional) Es el número de elementos que eliminaremos desde el punto definido con start
items Son los elemenos que agregaremos desde el punto definido con start
Volviendo a nuestro ejemplo, para añadir febrero a nuestro array meses con el método splice haremos lo siguiente
const meses = ["enero", "marzo", "junio"]
meses.splice(1, 0, "febrero")
Como puedes observar le indicamos a splice que desde el índice 1 no elimine ningún elemento e incluya el elemento febrero
¿Y que ocurre si queremos añadir más elementos?
¿Cómo añadir mmultiples elementos?
Como vimos, permite añadir tantos elementos como deseemos simplemente añadiéndolos desde el argumeto 3 en adelante
const meses = ["enero", "febrero", "marzo", "junio"]
meses.splice(3, 0, "abril", "mayo")
O incluso si queremos usar un array hacer uso de destructuring
const meses = ["enero", "febrero", "marzo", "junio"]
meses.splice(3, 0, ...["abril", "mayo"])