¿Cómo agregar algo a una matriz?

2893

¿Cómo agrego un objeto (como una cadena o un número) a una matriz en JavaScript?

interstar
fuente

Respuestas:

4392

Use el Array.prototype.pushmétodo para agregar valores a una matriz:

// initialize array
var arr = [
  "Hi",
  "Hello",
  "Bonjour"
];

// append new value to the array
arr.push("Hola");

console.log(arr);


Puede usar la push()función para agregar más de un valor a una matriz en una sola llamada:

// initialize array
var arr = ["Hi", "Hello", "Bonjour", "Hola"];

// append multiple values to the array
arr.push("Salut", "Hey");

// display all values
for (var i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}


Actualizar

Si desea agregar los elementos de una matriz a otra matriz, puede usar firstArray.concat(secondArray):

var arr = [
  "apple",
  "banana",
  "cherry"
];

arr = arr.concat([
  "dragonfruit",
  "elderberry",
  "fig"
]);

console.log(arr);

Actualizar

Solo una adición a esta respuesta si desea agregar cualquier valor al comienzo de una matriz que signifique para el primer índice que luego puede usar Array.prototype.unshiftpara este propósito.

var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr);

También admite agregar múltiples valores a la vez como push.

Jack Bashford
fuente
131
Tenga en cuenta que el valor de retorno de .push no es la matriz (o una nueva, como .concat), sino un número entero que representa la nueva longitud de la matriz.
Jay
8
@RST: no usar foren absoluto (usar .forEach).
Robert Siemer
34
Yo diría que el código original está bien. No hay necesidad de optimizar el acceso a la lengthpropiedad. El intérprete hace un trabajo increíble en sí mismo y no hará ninguna diferencia en el mundo real, ya sea que lo optimice o no. Si su matriz se vuelve tan grande que la optimización .lengthrealmente ayudaría, lo más probable es que una matriz ya no sea la estructura de datos correcta. El uso forEachtiene sus ventajas, pero es muy dudoso que el aumento del rendimiento sea una de ellas, ya que la llamada a la función para cada iteración conlleva un costo y no ahorra nada.
Stijn de Witt
29
@RobertSiemer La lengthpropiedad de una matriz no se calcula cada vez que se llama, es una variable almacenada en el arrayobjeto, que solo se actualiza cuando se modifica la matriz. Por lo tanto, de hecho, no hay ningún costo de rendimiento al incluir arr.lengthla forcondición.
mikeyq6
77
@Mojimi Como principiante, ignore cualquier consejo sobre preguntas de rendimiento en casos extremos como este. Usa la sintaxis más expresiva. Con el tiempo, los tiempos de ejecución de Javascript agregan más y más optimizaciones: incorporarán forEachfunciones de devolución de llamada en línea (algunas de ellas probablemente ya lo hagan) y no habrá diferencia en el código de máquina generado, si la función se llama con la frecuencia suficiente para ser compilada en lugar de ser interpretada por El tiempo de ejecución. El mismo consejo se aplica a cualquier lenguaje que no sea ensamblador, en realidad.
Mörre
1041

Si solo está agregando una sola variable, entonces push()funciona bien. Si necesita agregar otra matriz, use concat():

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

var ar3 = ar1.concat(ar2);

alert(ar1);
alert(ar2);
alert(ar3);

El concat no afecta ar1y, a ar2menos que sea reasignado, por ejemplo:

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

ar1 = ar1.concat(ar2);
alert(ar1);

Mucha información genial aquí .

MK_Dev
fuente
163
Solo asegurándome de que las personas capturen var ar3 = ar1.concat (ar2); parte. ar1.concat (ar2) no guarda los valores en ar1. Debe atraparlo asignándolo a ar3 o de regreso a ar1, como: ar1 = ar1.concat (ar2);
vbullinger
31
Yo diría que esta es la respuesta incorrecta en realidad. La pregunta era How do I append to an array in JavaScript?, pero en concatrealidad crea una nueva matriz. Esa es una diferencia importante! En cambio, diría que la respuesta a continuación de Omnimike es en realidad la mejor: use Push.apply para insertar una matriz completa en una matriz existente sin crear una nueva.
Stijn de Witt
@StijndeWitt todavía se puede anexar sin crear una nueva matriz, como se indica en el comentario anterior ar1 = ar1.concat(ar2);se añadirá aar1
cameronjonesweb
2
@cameronjonesweb En realidad, lo que hace es crear una nueva matriz con el mismo contenido que ar1, anexar ar2y luego devolver la nueva matriz. Simplemente omita la parte de asignación ( ar1 = ...) de esa línea de código y verá que el original ar1 no cambió. Si desea evitar hacer una copia, la necesitará push. No me creas, cree en los documentos : "El método concat () devuelve una nueva matriz" Primera oración en los documentos para concat.
Stijn de Witt
@StijndeWitt Tienes razón. Pero, una forma diferente de verlo, sin embargo, .push solo funciona bien al agregar variables / objetos individuales, pero sin embargo se equivocará cuando se trata de agregar matrices, que de ar2todos modos es lo anterior. El resultado de .pushen el escenario será = [ar1, [ar2]]. .concat resuelve ese problema, pero con sacrificio de velocidad y una nueva matriz creada. Para usarlo .pushcorrectamente en los anexos de matriz, haga un bucle del elemento contenido primero y presione cada uno. ar2.forEach(each => { ar1.push(each); });
Ade
408

Algunos puntos de referencia rápidos (cada prueba = 500k elementos adjuntos y los resultados son promedios de múltiples ejecuciones) mostraron lo siguiente:

Firefox 3.6 (Mac):

  • Pequeñas matrices: arr[arr.length] = bes más rápido (300 ms frente a 800 ms)
  • Matrices grandes: arr.push(b)es más rápido (500 ms frente a 900 ms)

Safari 5.0 (Mac):

  • Pequeñas matrices: arr[arr.length] = bes más rápido (90 ms frente a 115 ms)
  • Matrices grandes: arr[arr.length] = bes más rápido (160 ms frente a 185 ms)

Google Chrome 6.0 (Mac):

  • Pequeñas matrices: sin diferencias significativas (¡y Chrome es RÁPIDO! ¡Solo ~ 38 ms!)
  • Matrices grandes: sin diferencia significativa (160 ms)

Me gusta más la arr.push()sintaxis, pero creo que estaría mejor con la arr[arr.length]versión, al menos en velocidad bruta. Sin embargo, me encantaría ver los resultados de una ejecución de IE.


Mis bucles de evaluación comparativa:

function arrpush_small() {
    var arr1 = [];
    for (a = 0; a < 100; a++)
    {
        arr1 = [];
        for (i = 0; i < 5000; i++)
        {
            arr1.push('elem' + i);
        }
    }
}

function arrlen_small() {
    var arr2 = [];
    for (b = 0; b < 100; b++)
    {
        arr2 = [];
        for (j = 0; j < 5000; j++)
        {
            arr2[arr2.length] = 'elem' + j;
        }
    }
}


function arrpush_large() {
    var arr1 = [];
    for (i = 0; i < 500000; i++)
    {
        arr1.push('elem' + i);
    }
}

function arrlen_large() {
    var arr2 = [];
    for (j = 0; j < 500000; j++)
    {
        arr2[arr2.length] = 'elem' + j;
    }
}
Jens Roland
fuente
99
La pregunta es si .length es un valor almacenado o se calcula al acceder, ya que si este último es verdadero, entonces podría ser que usar una variable simple (como j) como el valor del índice podría ser aún más rápido
yoel halb
44
¡Me encantaría ver concat () en la misma prueba!
Justin
2
Me pregunto cuánto ha cambiado esto en los últimos cuatro años. (jsperf sería útil ahora.)
Paul Draper
8
Este tipo de evaluación comparativa es interesante, pero irónicamente no es muy útil para hacer que las aplicaciones sean más rápidas. El bucle de renderizado es mucho más costoso durante cualquier ciclo. Además, los desarrolladores del navegador optimizan continuamente estos aspectos internos del lenguaje JS. Esa es la razón de mi voto negativo, no lo interesante de esta respuesta. Si desea aplicaciones más rápidas, primero evalúe y vea qué cambiar: 99 de cada 100 veces no será un problema como lo muestra esta prueba. A menudo, su pobre desarrollador JS / CSS, no los elementos internos del navegador, lo que lo está haciendo lento.
LessQuesar
77
Estoy de acuerdo con LessQuesar en apegarme a las construcciones siempre que sea posible. No es que la microoptimización sea mala en sí misma, pero tiene razón en que los navegadores siempre mejoran la velocidad del motor. Caso en cuestión: a partir de este escrito, el rendimiento por navegador es casi idéntico para todas las técnicas enumeradas anteriormente. Significa mucho alboroto hace unos años para una ganancia tan pequeña, cuando ahora no hay ganancia.
Beejor
298

Creo que vale la pena mencionar que se puede llamar push con múltiples argumentos, que se agregarán a la matriz en orden. Por ejemplo:

var arr = ['first'];
arr.push('second', 'third');
console.log(arr);

Como resultado de esto, puede usar push.apply para agregar una matriz a otra matriz de la siguiente manera:

var arr = ['first'];
arr.push('second', 'third');
arr.push.apply(arr, ['forth', 'fifth']);
console.log(arr);

El ES5 anotado tiene más información sobre exactamente qué hacer y aplicar .

Actualización de 2016: con spread , ya no lo necesitas apply, como:

var arr = ['first'];
arr.push('second', 'third');

arr.push(...['fourth', 'fifth']);
console.log(arr) ;

Omnimike
fuente
25
La mejor respuesta para agregar una matriz de elementos sin crear una nueva matriz.
Gabriel Littman
1
@GabrielLittman Especialmente porque agregar a una matriz, en mi humilde opinión, debe modificar la matriz, no crear una nueva.
Juan Mendes
3
Me gusta la versión push.apply, Array.prototype.push.apply()aunque preferiría usarla .
Michael
1
A veces es importante preservar la referencia a una matriz, por ejemplo en AngularJs cuando una matriz está dentro del alcance de algún controlador y algún servicio necesita actualizar los datos en la matriz para su visualización. Es por eso que estoy votando esta solución.
ver más nítido
Esta respuesta realmente debería estar más arriba.
Anomalía
80

Puede usar pushy applyfunción para agregar dos matrices.

var array1 = [11, 32, 75];
var array2 = [99, 67, 34];

Array.prototype.push.apply(array1, array2);
console.log(array1);

Anexará array2a array1. Ahora array1contiene [11, 32, 75, 99, 67, 34]. Este código es mucho más simple que escribir forbucles para copiar todos y cada uno de los elementos de la matriz.

Fizer Khan
fuente
Esto es lo que necesitaba, mantener la referencia de matriz original
amit bakle
Si está utilizando ES6 / 7, también puede utilizar el ...operador en lugar de aplicar la const a1 = [] const a2 = [5,6,7] const.push(...a2) edición: resaltado de sintaxis
Mieszko
Lo usaría array1.concat(array2)en esta situación. La llamada a pushparece innecesaria.
connectyourcharger
57

Con el nuevo operador de propagación ES6 , unir dos matrices usando pushes aún más fácil:

var arr = [1, 2, 3, 4, 5];
var arr2 = [6, 7, 8, 9, 10];
arr.push(...arr2);
console.log(arr);

Esto agrega el contenido de arr2al final de arr.

Ejemplo REPL de Babel

CodingIntrigue
fuente
47

Si arres una matriz y vales el valor que desea agregar, use:

arr.push(val);

P.ej

var arr = ['a', 'b', 'c'];
arr.push('d');
console.log(arr);

rjmunro
fuente
45

Uso concat:

a = [1, 2, 3];
b = [3, 4, 5];
a = a.concat(b);
console.log(a);

Mαzen
fuente
34

Javascript con ECMAScript 5 estándar que es apoyada por la mayoría de los navegadores de hoy, se puede utilizar apply()para anexar array1a array2.

var array1 = [3, 4, 5];
var array2 = [1, 2];

Array.prototype.push.apply(array2, array1);

console.log(array2); // [1, 2, 3, 4, 5]

Javascript con el estándar ECMAScript 6 que es compatible con Chrome y FF e IE Edge, puede usar el spreadoperador:

"use strict";
let array1 = [3, 4, 5];
let array2 = [1, 2];

array2.push(...array1);

console.log(array2); // [1, 2, 3, 4, 5]

El spreadoperador reemplazará array2.push(...array1);conarray2.push(3, 4, 5); la que el explorador está pensando en la lógica.

Punto de bonificación

Si quieres crear otro variable para almacenar todos los elementos de ambas matrices, puede hacer esto:

ES5 var combinedArray = array1.concat(array2);

ES6 const combinedArray = [...array1, ...array2]

El operador de propagación ( ...) es distribuir todos los elementos de una colección.

Zhenyang Hua
fuente
30

Si desea agregar dos matrices:

var a = ['a', 'b'];
var b = ['c', 'd'];

entonces podrías usar:

var c = a.concat(b);

Y si desea agregar un registro ga la matriz ( var a=[]), puede usar:

a.push('g');
Pawan Singh
fuente
25

El push()método agrega nuevos elementos al final de una matriz y devuelve la nueva longitud. Ejemplo:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");

// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi

La respuesta exacta a su pregunta ya está respondida, pero veamos algunas otras formas de agregar elementos a una matriz.

El unshift()método agrega nuevos elementos al comienzo de una matriz y devuelve la nueva longitud. Ejemplo:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");

// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango

Y, por último, el concat()método se utiliza para unir dos o más matrices. Ejemplo:

var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);

// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon
Maarten Peels
fuente
25

Hay un par de formas de agregar una matriz en JavaScript:

1) El push()método agrega uno o más elementos al final de una matriz y devuelve la nueva longitud de la matriz.

var a = [1, 2, 3];
a.push(4, 5);
console.log(a);

Salida:

[1, 2, 3, 4, 5]

2) El unshift()método agrega uno o más elementos al comienzo de una matriz y devuelve la nueva longitud de la matriz:

var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a); 

Salida:

[4, 5, 1, 2, 3]

3) El concat()método se usa para fusionar dos o más matrices. Este método no cambia las matrices existentes, sino que devuelve una nueva matriz.

var arr1 = ["a", "b", "c"];
var arr2 = ["d", "e", "f"];
var arr3 = arr1.concat(arr2);
console.log(arr3);

Salida:

[ "a", "b", "c", "d", "e", "f" ]

4) Puede usar la .lengthpropiedad de la matriz para agregar un elemento al final de la matriz:

var ar = ['one', 'two', 'three'];
ar[ar.length] = 'four';
console.log( ar ); 

Salida:

 ["one", "two", "three", "four"]

5) El splice()método cambia el contenido de una matriz eliminando elementos existentes y / o agregando nuevos elementos:

var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(4, 0, "nemo");
//array.splice(start, deleteCount, item1, item2, ...)
console.log(myFish);

Salida:

["angel", "clown", "mandarin", "surgeon","nemo"]

6) También puede agregar un nuevo elemento a una matriz simplemente especificando un nuevo índice y asignando un valor:

var ar = ['one', 'two', 'three'];
ar[3] = 'four'; // add new element to ar
console.log(ar);

Salida:

["one", "two","three","four"]
Inconnu
fuente
Para 1), esto dice "sin modificar la matriz original". Pero eso es literalmente lo que pushhace: modifica la matriz original empujando nuevos elementos sobre ella. ¿Estoy leyendo esto mal, o debería ser editado?
Phil Calvin
22

Ahora, puede aprovechar la sintaxis de ES6 y simplemente hacer:

let array = [1, 2];
console.log([...array, 3]);

manteniendo la matriz original inmutable.

José Antonio Postigo
fuente
17

Si conoce el índice más alto (como el almacenado en una variable "i"), puede hacer

myArray[i + 1] = someValue;

Sin embargo, si no sabe, puede usar

myArray.push(someValue);

como sugirieron otras respuestas, o puede usar

myArray[myArray.length] = someValue; 

Tenga en cuenta que la matriz está basada en cero, por lo que la longitud devuelve el índice más alto más uno.

También tenga en cuenta que no tiene que agregar en orden y puede omitir valores, como en

myArray[myArray.length + 1000] = someValue;

En cuyo caso, los valores intermedios tendrán un valor indefinido.

Por lo tanto, es una buena práctica al recorrer un JavaScript para verificar que realmente exista un valor en ese punto.

Esto se puede hacer de la siguiente manera:

if(myArray[i] === "undefined"){ continue; }

Si está seguro de que no tiene ceros en la matriz, puede hacer lo siguiente:

if(!myArray[i]){ continue; }

Por supuesto, asegúrese en este caso de que no use como condición myArray [i] (como algunas personas en Internet sugieren que, tan pronto como sea mayor, el índice más alto volverá indefinido, lo que se evalúa como falso)

yo hal
fuente
En realidad no quieres decir "undefined". Debe leer void 0! "undefined"es una cadena y "undefined" !== void 0, por lo tanto, su if(myArray[i]es falso a menos que la matriz en el índice ise establezca en la cadena con el contenido equivalente de 'u'+'n'+'d'+'e'+'f'+'i'+'n'+'e'+'d'. También tenga en cuenta que no debe usar undefined, sino usar void 0. Porque void 0siempre es el valor indefinido, mientras que undefinedpuede definirse a través de algo así function x(undefined) { alert(undefined) } x("hello world"), por lo que no puede estar seguro de si alguien configuró accidentalmente window["undefined"]=1o similar.
Tino
14

Agregar elemento único

//Append to the end
arrName.push('newName1');

//Prepend to the start
arrName.unshift('newName1');

//Insert at index 1
arrName.splice(1, 0,'newName1');
//1: index number, 0: number of element to remove, newName1: new element


// Replace index 3 (of exists), add new element otherwise.
arrName[3] = 'newName1';

Agregar elementos múltiples

//Insert from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
//1: index number from where insert starts, 
//0: number of element to remove, 
//newElemenet1,2,3: new elements

Agregar matriz

//join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array
Srikrushna Pal
fuente
1
¿Por qué no arrName.push('newElemenet1, newElemenet2, newElemenet3')?
Mihail Malostanidis
1
En push () inserta el elemento en último lugar, pero en mi ejemplo inserta el elemento en el medio, es decir, desde el índice de matriz 1 (según el ejemplo) @Mihail Malostanidis
Srikrushna
Oh, pensé que la suposición era que arrNameera larga 1.
Mihail Malostanidis
11

concat(), por supuesto, también se puede usar con matrices bidimensionales. No se requiere bucle.

var a = [[1, 2], [3, 4]];

var b = [["a", "b"], ["c", "d"]];

b = b.concat (a);

alerta (b [2] [1]); // resultado 2

Karl
fuente
10

Deje que la propiedad de longitud de matriz haga el trabajo:

myarray[myarray.length] = 'new element value added to the end of the array';

myarray.length devuelve el número de cadenas en la matriz. JS se basa en cero, por lo que la siguiente clave de elemento de la matriz será la longitud actual de la matriz. EX:

var myarray = [0, 1, 2, 3],
    myarrayLength = myarray.length; //myarrayLength is set to 4
hawkeye126
fuente
9

Solo quiero agregar un fragmento para la adición no destructiva de un elemento.

var newArr = oldArr.concat([newEl]);
Danil Gaponov
fuente
8

Agregar un valor a una matriz

Dado que Array.prototype.push agrega uno o más elementos al final de una matriz y devuelve la nueva longitud de la matriz , a veces solo queremos obtener la nueva matriz actualizada para que podamos hacer algo así:

const arr = [1, 2, 3];
const val = 4;

arr.concat([val]); // [1, 2, 3, 4]

O solo:

[...arr, val] // [1, 2, 3, 4]
Lior Elrom
fuente
2
Corregir con ES6 para el operador de descanso.
monikapatelIT
7

Si está utilizando el ES6, puede usar el operador de propagación para hacerlo.

var arr = [
    "apple",
    "banana",
    "cherry"
];

var arr2 = [
    "dragonfruit",
    "elderberry",
    "fig"
];

arr.push(...arr2);
JmLavoier
fuente
7

puedes hacerlo usando la nueva función javascript Es 6:

// initialize array

var arr = [
    "Hi",
    "Hello",
    "Bangladesh"
];

// append new value to the array

arr= [...arr , "Feni"];

// or you can put a variable value

var testValue = "Cool";

arr = [...arr , testValue ];

console.log(arr); 

// final output  [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]
Hoque MD Zahidul
fuente
1
Esto no agrega el valor a la matriz, que es lo que solicitó el OP. Esto crea una nueva matriz, con el contenido de la matriz anterior y los nuevos elementos. Realmente, este es Array.concat.
Richard Matheson
5

si desea combinar 2 matrices sin el duplicado, puede probar el siguiente código

array_merge = function (arr1, arr2) {
  return arr1.concat(arr2.filter(function(item){
    return arr1.indexOf(item) < 0;
  }))
}

uso:

array1 = ['1', '2', '3']
array2 = ['2', '3', '4', '5']
combined_array = array_merge(array1, array2)

Salida: [1,2,3,4,5]

Emil Reña Enriquez
fuente
5

Agregar un solo elemento

Para agregar un solo elemento a una matriz, use el push()método proporcionado por el objeto Array:

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango')
console.log(fruits)

push() Muta la matriz original.

Para crear una nueva matriz, use el concat()método Array:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)

Tenga en cuenta que en concat()realidad no agrega un elemento a la matriz, sino que crea una nueva matriz, que puede asignar a otra variable o reasignar a la matriz original (declarándolo como let, ya que no puede reasignar a const):

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
let fruits = ['banana', 'pear', 'apple']
fruits = fruits.concat('mango')

Agregar varios elementos

Para agregar un elemento múltiple a una matriz, puede usarlo push()llamándolo con varios argumentos:

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango', 'melon', 'avocado')
console.log(fruits)

También puede usar el concat()método que vio antes, pasando una lista de elementos separados por una coma:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango', 'melon', 'avocado')
console.log(allfruits)

o una matriz:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat(['mango', 'melon', 'avocado'])
console.log(allfruits)

Recuerde que, como se describió anteriormente, este método no muta la matriz original, pero devuelve una nueva matriz.

Publicado originalmente en

Flavio Copes
fuente
4

Usted .push () ese valor en. Ejemplo: array.push (value);

Jayme
fuente
4

Si desea agregar un solo valor a una matriz, simplemente use el método push. Agregará un nuevo elemento al final de la matriz.

Pero si tiene la intención de agregar varios elementos, almacene los elementos en una nueva matriz y concatene la segunda matriz con la primera matriz ... de cualquier manera que desee.

arr=['a','b','c'];
arr.push('d');
//now print the array in console.log and it will contain 'a','b','c','d' as elements.
console.log(array);
Satyapriya Mishra
fuente
2

No tenemos la función append para Array en javascript, pero tenemos push y unshift , imagina que tienes la siguiente matriz:

var arr = [1, 2, 3, 4, 5];

y nos gusta agregar un valor a esta matriz, podemos hacer, arr.push (6) y agregará 6 al final de la matriz:

arr.push(6); // return [1, 2, 3, 4, 5, 6];

también podemos usar unshift, mira cómo podemos aplicar esto:

arr.unshift(0); //return [0, 1, 2, 3, 4, 5];

Son funciones principales para agregar o agregar nuevos valores a las matrices.

Alireza
fuente
1

Puedes usar el método push.

Array.prototype.append = function(destArray){
     destArray = destArray || [];
     this.push.call(this,...destArray);
     return this;
}
var arr = [1,2,5,67];
var arr1 = [7,4,7,8];
console.log(arr.append(arr1));// [7, 4, 7, 8, 1, 4, 5, 67, 7]
console.log(arr.append("Hola"))//[1, 2, 5, 67, 7, 4, 7, 8, "H", "o", "l", "a"]
Sanu Uthaiah Bollera
fuente
0

push()agrega un nuevo elemento al final de una matriz.
pop()elimina un elemento del final de una matriz.

Para agregar un objeto (como una cadena o un número) a una matriz, use:
array.push(toAppend);

Harunur Rashid
fuente
0

Agregar elementos en una matriz

let fruits =["orange","banana","apple","lemon"]; /*array declaration*/

fruits.push("avacado"); /* Adding an element to the array*/

/*displaying elements of the array*/

for(var i=0; i < fruits.length; i++){
  console.log(fruits[i]);
}
Ir Calif
fuente
0

Puede usar push () si desea agregar valores, p. Ej. arr.push("Test1", "Test2");

Si tiene una matriz, puede usar concat (), por ejemplo Array1.concat(Array2)

Si solo tiene un elemento para agregar, también puede probar la longitud menthod, por ejemplo array[aray.length] = 'test';

Aditya
fuente