[javascript] Come aggiungere qualcosa a un array?



Answers

Se aggiungi solo una singola variabile, allora push() funziona perfettamente. Se è necessario aggiungere un altro array, utilizzare concat() :

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

var ar3 = ar1.concat(ar2);

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

Sputerà:

"1,2,3"
"4,5,6"
"1,2,3,4,5,6"

Il concat non ha effetto su ar1 e ar2 meno che non sia stato riassegnato, ad esempio:

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

Mostrerà:

"1,2,3,4,5,6"

Un sacco di grandi informazioni here

Question

Come appendo un oggetto (come una stringa o un numero) a un array in JavaScript?




Con il nuovo operatore di diffusione ES6, unire due array utilizzando la push diventa ancora più semplice:

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];

Questo aggiunge il contenuto di arr2 alla fine di arr .

Babel REPL Esempio




You .push () quel valore in. Esempio: array.push (valore);







Javascript con lo standard ECMAScript 5 che è ora supportato dalla maggior parte dei browser, puoi usare apply() per aggiungere 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 con lo standard ECMAScript 6 supportato da Chrome e FF e IE Edge, è possibile utilizzare l'operatore di spread :

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

array2.push(...array1);

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

L'operatore di spread sostituirà array2.push(...array1); con array2.push(3, 4, 5); quando il browser sta pensando la logica.

Punto bonus

Se desideri creare un'altra variabile per archiviare tutti gli elementi da entrambi gli array, puoi fare ciò:

ES5 var combinedArray = array1.concat(array2);

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

L'operatore di spread ( ... ) serve per distribuire tutti gli elementi di una raccolta.




se vuoi combinare 2 array senza il duplicato puoi provare il codice qui sotto

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

utilizzo:

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

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




Lascia che la proprietà della lunghezza dell'array esegua il lavoro:

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

myarray.length restituisce il numero di stringhe nella matrice. JS è zero in modo che il prossimo elemento chiave dell'array sia la lunghezza corrente dell'array. EX:

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



Penso che valga la pena ricordare che push può essere chiamato con più argomenti, che verranno aggiunti all'array in ordine. Per esempio:

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

Come risultato di ciò è possibile utilizzare push.apply per aggiungere una matrice a un altro array in questo modo:

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

Annotated ES5 ha più informazioni su esattamente cosa fanno push e apply .

Aggiornamento 2016: con spread , non è più necessario apply , come:

arr.push(...['fourth', 'fifth']);
console.log(arr) // ['first', 'second', 'third', 'fourth', 'fifth']



Usando il metodo push() si aggiungerà un elemento a un array. Vedi l'esempio qui sotto.

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




Ci sono un paio di modi per aggiungere un array in JavaScript:

1) Il metodo push() aggiunge uno o più elementi alla fine di un array e restituisce la nuova lunghezza dell'array.

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

Produzione:

[1, 2, 3, 4, 5]

2) Il metodo unshift() aggiunge uno o più elementi all'inizio di una matrice e restituisce la nuova lunghezza della matrice:

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

Produzione:

[4, 5, 1, 2, 3]

3) Il metodo concat() viene utilizzato per unire due o più array. Questo metodo non modifica gli array esistenti, ma restituisce una nuova matrice.

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

Produzione:

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

4) È possibile utilizzare la proprietà .length dell'array per aggiungere un elemento alla fine dell'array:

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

Produzione:

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

5) Il metodo splice() modifica il contenuto di un array rimuovendo elementi esistenti e / o aggiungendo nuovi elementi:

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

Produzione:

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

6) Puoi anche aggiungere un nuovo elemento a un array semplicemente specificando un nuovo indice e assegnando un valore:

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

Produzione:

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



puoi farlo usando la nuova funzione di 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' ]



concat() , ovviamente, può essere usato anche con array bidimensionali. Nessun ciclo richiesto.

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

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

b = b.concat (a);

alert (B [2] [1]); // risultato 2




Links