JavaScript: c贸mo insertar elementos en un 铆ndice espec铆fico de una matriz

    Introducci贸n

    Una matriz es una estructura de datos lineal y posiblemente una de las estructuras de datos m谩s populares utilizadas en la inform谩tica. La modificaci贸n de una matriz es una operaci贸n com煤n. Aqu铆, discutiremos c贸mo agregar un elemento en cualquier posici贸n de una matriz en JavaScript.

    Se puede agregar un elemento a una matriz en tres lugares:

    • Inicio / Primer elemento
    • Fin / 脷ltimo elemento
    • En cualquier otro lugar

    隆Comencemos agregando elementos al comienzo de una matriz!

    Agregar elementos al inicio de una matriz

    los unshift() El m茅todo en objetos de matriz agrega uno o m谩s elementos al inicio de una matriz. Cuando se ejecuta, tambi茅n devuelve la nueva longitud de una matriz:

    const startArray = [3, 4, 5];
    const newLength = startArray.unshift(2);
    console.log(newLength);
    console.log(startArray);
    
    startArray.unshift(-1, 0, 2);
    console.log(startArray);
    

    Lo que nos da el resultado esperado:

    4
    [ 2, 3, 4, 5 ]
    [ -1, 0, 2, 2, 3, 4, 5 ]
    

    Agregar elementos al final de una matriz

    Usando el 煤ltimo 铆ndice de la matriz

    Para agregar un elemento al final de una matriz, podemos usar el hecho de que la longitud de una matriz es siempre uno menos que el 铆ndice.

    Digamos que la longitud de una matriz es 5, luego el 煤ltimo 铆ndice en el que el valor ser谩 4. Entonces, podemos agregar directamente el elemento en el last+1 铆ndice. Echemos un vistazo:

    const indexArray = [1, 2, 3];
    console.log(indexArray.length);
    console.log(indexArray[2]);
    console.log(indexArray[3]);
    
    indexArray[indexArray.length] = 4
    console.log(indexArray);
    

    Ejecutar esto en una consola JS muestra:

    3
    3
    undefined
    [ 1, 2, 3, 4 ]
    

    La matriz es 3 de longitud, y el segundo elemento es 3. No hay un tercer elemento, as铆 que nos saludan undefined. Finalmente, en esa posici贸n, insertamos el valor de 4.

    El m茅todo push ()

    los push() El m茅todo de una matriz agrega uno o m谩s elementos al final de la misma. Al igual que unshift(), tambi茅n devuelve la nueva longitud de la matriz:

    const pushArray = [1, 2, 3]
    const newLength = pushArray.push(4, 5, 6, 7);
    console.log(newLength);
    console.log(pushArray);
    

    Ejecutar el c贸digo anterior mostrar谩 esto:

    7
    [ 1, 2, 3, 4, 5, 6, 7 ]
    

    El m茅todo concat ()

    La fusi贸n o uni贸n de dos o m谩s matrices se logra mediante un sistema concat() m茅todo. Crea un nueva copia de la salida y no afecta las matrices originales. A diferencia de los m茅todos anteriores, devuelve una nueva matriz. Los valores que se concatenan siempre vienen al final de la matriz usando el m茅todo.

    Podemos concatenar una matriz con otra matriz:

    const example1Array1 = [1, 2, 3];
    const valuesToAdd = [4, 5, 6];
    const example1NewArray = example1Array1.concat(valuesToAdd);
    
    console.log(example1NewArray);
    console.log(example1Array1);
    

    Que imprime esta salida:

    [ 1, 2, 3, 4, 5, 6 ]
    [ 1, 2, 3 ]
    

    Podemos concatenar una matriz con una secuencia de valores:

    const array = [1,2,3];
    const newArray = array.concat('12', true, null, 4,5,6,'hello');
    console.log(array);
    console.log(newArray);
    

    Ejecutar el c贸digo anterior registrar谩 esto en nuestras consolas:

    [ 1, 2, 3 ]
    [ 1, 2, 3, '12', true, null, 4, 5, 6, 'hello' ]
    

    Podemos concatenar una matriz con varias matrices:

    const array1 = [1, 2, 3];
    const array2 = [4, 5, 6];
    const array3 = [7, 8, 9];
    const oneToNine = array1.concat(array2, array3);
    
    console.log(oneToNine);
    

    Cuando se ejecuta, el c贸digo anterior imprime una lista de n煤meros del 1 al 9:

    [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
    

    Agregar elementos en cualquier lugar de una matriz

    Ahora discutiremos un m茅todo de trazo maestro que se puede usar para agregar un elemento en cualquier lugar de una matriz: inicio, final, medio y en cualquier otro lugar intermedio.

    los splice() El m茅todo agrega, elimina y reemplaza elementos en una matriz. Se utiliza habitualmente para la gesti贸n de matrices. Este m茅todo no crea una nueva matriz, sino que actualiza la que la llam贸.

    Veamos splice() en acci贸n. Vamos a tomar una serie de d铆as de la semana y agregar un elemento “mi茅rcoles” entre “martes” y “jueves”:

    const weekdays = ['monday', 'tuesday', 'thursday', 'friday']
    const deletedArray = weekdays.splice(2, 0, 'wednesday');
    
    console.log(weekdays);
    console.log(deletedArray);
    

    El c贸digo anterior registra esto en la consola:

    [ 'monday', 'tuesday', 'wednesday', 'thursday', 'friday' ]
    []
    

    Analicemos el c贸digo anterior. Quer铆amos agregar ‘mi茅rcoles’ en el weekdays matriz en el 2do posici贸n. No es necesario eliminar ning煤n elemento aqu铆. El c贸digo weekdays.splice(2, 0, 'wednesday') se lee como en la segunda posici贸n, no elimine ning煤n elemento y agregue wednesday.

    Aqu铆 est谩 la sintaxis general para usar splice():

    let removedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
    

    D贸nde:

    • start – El 铆ndice en el que comenzar a modificar la matriz.
    • deleteCount – El n煤mero opcional de elementos de la matriz para eliminar start. Si se omite, todos los elementos posteriores start ser谩 borrado.
    • item1, item2, ... – Los elementos opcionales para agregar a la matriz desde start. Si se omite, solo eliminar谩 elementos de la matriz.

    Veamos otro ejemplo de slice() donde agregamos y eliminamos a la matriz al mismo tiempo. Agregaremos “mi茅rcoles” en la segunda posici贸n, sin embargo, tambi茅n eliminaremos los valores de fin de semana err贸neos all铆:

    const weekdays = ['monday', 'tuesday', 'saturday', 'sunday', 'thursday', 'friday']
    const deletedArray = array.splice(2, 2, 'wednesday');
    
    console.log(weekdays);
    console.log(deletedArray);
    

    El c贸digo anterior se imprimir谩:

    [ 'monday', 'tuesday', 'wednesday', 'thursday', 'friday' ]
    [ 'saturday', 'sunday' ]
    

    En el ejemplo anterior, array.splice(2, 2, 'wednesday') elimina dos elementos de la segunda posici贸n (inicio) y agrega ‘mi茅rcoles’ all铆. Que justo ah铆 est谩 el poder de slice()!

    Conclusi贸n

    En este art铆culo, analizamos muchas formas en JavaScript en las que podemos agregar elementos a una matriz. Podemos agregarlos al principio con unshift(). Podemos agregarlos al final usando su 铆ndice, el pop() m茅todo y el concat() m茅todo. Tenemos a煤n m谩s control de d贸nde los colocamos con el splice() m茅todo.

     

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *