javascript stampare multidimensionali - Come aggiungere qualcosa a un array?





15 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

elemento oggetti inizializzare

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




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



Se arr è un array e val è il valore che desideri aggiungere, usa:

arr.push(val);

Per esempio

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

registrerà:

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



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




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.




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



Ora puoi sfruttare la sintassi ES6 e basta:

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

mantenendo l'array originale immutabile.




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




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



Se si utilizza ES6, è possibile utilizzare l'operatore di spread per farlo.

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

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

arr.push(...arr2);



Aggiungi un valore a un array

Poiché push() aggiunge uno o più elementi alla fine di un array e restituisce la nuova lunghezza dell'array , a volte vogliamo semplicemente ottenere il nuovo array aggiornato in modo che possiamo fare qualcosa del genere:

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

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

O semplicemente:

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



Se vuoi aggiungere un singolo valore in un array, usa semplicemente il metodo push. Aggiungerà un nuovo elemento alla fine dell'array.

Ma se hai intenzione di aggiungere più elementi, memorizza gli elementi in un nuovo array e concatena il secondo array con il primo array ... in qualunque modo desideri.

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



Puoi usare il metodo 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"]



Aggiungi un singolo oggetto

Per aggiungere un singolo elemento a un array, utilizzare il metodo push() fornito dall'oggetto Array:

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

push() la matrice originale.

Per creare invece un nuovo array, utilizzare il metodo array firstArray.concat(secondArray) :

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

Si noti che concat() realtà non aggiunge un elemento all'array, ma crea un nuovo array, che è possibile assegnare a un'altra variabile, o riassegnare all'array originale (dichiarandolo come let , dato che non è possibile riassegnare un const ):

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

js let fruits = ['banana', 'pear', 'apple'] fruits = fruits.concat('mango')

Aggiungi più oggetti

Per aggiungere un elemento multiplo a un array, puoi usare push() chiamandolo con più argomenti:

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

Puoi anche usare il metodo firstArray.concat(secondArray) che hai visto prima, passando un elenco di elementi separati da una virgola:

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

o un array:

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

Ricorda che, come descritto in precedenza, questo metodo non modifica l'array originale, ma restituisce un nuovo array.

Originariamente pubblicato su https://flaviocopes.com/how-to-append-item-to-array/




È possibile utilizzare push () se si desidera aggiungere valori, ad esempio arr.push("Test1", "Test2");

Se hai array puoi usare concat () ad es. Array1.concat(Array2)

Se hai solo un elemento da aggiungere puoi anche provare la lunghezza menthod ad es. array[aray.length] = 'test';






Related