mdn - push items array javascript




Como acrescentar algo a um array? (20)

Como eu adiciono um objeto (como uma string ou um número) a um array em JavaScript?


Só quero adicionar um trecho para adição não destrutiva de um elemento.

var newArr = oldArr.concat([newEl]);

Deixe a propriedade length do array fazer o trabalho:

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

myarray.length retorna o número de seqüências na matriz. JS é baseado em zero, então a próxima chave de elemento da matriz será o comprimento atual da matriz. EX:

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

Anexar um valor a um array

Como o push() adiciona um ou mais elementos ao final de uma matriz e retorna o novo tamanho da matriz , às vezes queremos apenas obter a nova matriz atualizada para que possamos fazer algo assim:

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

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

Ou apenas:

[...arr, val] // [1, 2, 3, 4]

Agora, você pode tirar proveito da sintaxe do ES6 e apenas fazer:

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

mantendo o array original imutável.


Anexando itens em uma 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]);
}

Com o novo operador de spread ES6, unir duas matrizes usando push torna-se ainda mais fácil:

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

Isso adiciona o conteúdo de arr2 no final de arr .

Exemplo REPL de Babel


Javascript com ECMAScript 5 padrão que é suportado pela maioria dos navegadores agora, você pode usar apply() para anexar array1 a 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 com ECMAScript 6 padrão que é suportado pelo Chrome e FF e IE Edge, você pode usar o operador spread :

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

array2.push(...array1);

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

O operador de spread substituirá array2.push(...array1); com array2.push(3, 4, 5); quando o navegador está pensando a lógica.

Ponto de bônus

Se você quiser criar outra variável para armazenar todos os itens de ambas as matrizes, você pode fazer isso:

ES5 var combinedArray = array1.concat(array2);

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

O operador de spread ( ... ) deve distribuir todos os itens de uma coleção.


Nós não temos a função append para Array em javascript, mas temos push e unshift , imagine que você tenha o array abaixo:

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

e nós adicionamos um valor a este array, podemos fazer, arr.push (6) e ele adicionará 6 ao final do array:

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

Também podemos usar unshift, veja como podemos aplicar isso:

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

São funções principais para adicionar ou acrescentar novos valores aos arrays.


Se arr é um array, e val é o valor que você deseja adicionar use:

arr.push(val);

Por exemplo

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

irá registrar:

['a', 'b', 'c', 'd']

Se você conhece o maior índice (como armazenado em uma variável "i"), então você pode fazer

myArray[i + 1] = someValue;

No entanto, se você não sabe, então você pode usar

myArray.push(someValue);

como outras respostas sugeridas, ou você pode usar

myArray[myArray.length] = someValue; 

Observe que a matriz é baseada em zero, portanto, comprimento retorna o índice mais alto mais um.

Observe também que você não tem que adicionar em ordem e você pode realmente pular valores, como em

myArray[myArray.length + 1000] = someValue;

Nesse caso, os valores entre terão um valor indefinido.

Portanto, é uma boa prática fazer um loop por meio de um JavaScript para verificar se um valor realmente existe nesse ponto.

Isso pode ser feito por algo como o seguinte:

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

Se você tem certeza de que não possui zeros no array, você pode simplesmente fazer:

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

Claro que certifique-se, neste caso, que você não usa a condição myArray [i] (como algumas pessoas na internet sugerem com base no final que, assim que eu for maior, o índice mais alto retornará indefinido, o que resulta em falso)


Se você estiver usando o ES6, pode usar o operador de spread para fazer isso.

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

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

arr.push(...arr2);

Se você quiser acrescentar dois arrays -

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

então você poderia usar:

var c = a.concat(b);

E se você quiser adicionar o registro g ao array ( var a=[] ), então você pode usar:

a.push('g');


Você .push () nesse valor. Exemplo: array.push (valor);


Você pode usar o 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"]

Você pode usar o push () se quiser adicionar valores, por exemplo, arr.push("Test1", "Test2");

Se você tem matriz, você pode usar concat (), por exemplo, Array1.concat(Array2)

Se você tiver apenas um elemento para adicionar, você também pode tentar o comprimento do método, por exemplo, array[aray.length] = 'test';


concat() , é claro, pode ser usado com matrizes bidimensionais também. Nenhum loop requerido.

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

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

b = b.concat (a);

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


push() adiciona um novo elemento ao final de um array.
pop() remove um elemento do final de um array.

Para anexar um objeto (como uma string ou um número) a um array use -
array.push(toAppend);


Existem algumas maneiras de anexar uma matriz em JavaScript:

1) O método push() adiciona um ou mais elementos ao final de um array e retorna o novo tamanho do array.

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

Saída:

[1, 2, 3, 4, 5]

2) O método unshift() adiciona um ou mais elementos ao início de um array e retorna o novo tamanho do array:

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

Saída:

[4, 5, 1, 2, 3]

3) O método concat() é usado para mesclar dois ou mais arrays. Esse método não altera as matrizes existentes, mas, em vez disso, retorna uma nova matriz.

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

Saída:

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

4) Você pode usar a propriedade .length da matriz para adicionar um elemento ao final da matriz:

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

Saída:

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

5) O método splice() altera o conteúdo de um array removendo elementos existentes e / ou adicionando novos elementos:

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

Saída:

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

6) Você também pode adicionar um novo elemento a um array simplesmente especificando um novo índice e atribuindo um valor:

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

Saída:

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

você pode fazer isso usando o novo recurso 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' ]




append