Aggiungere un nuovo valore a un array esistente in JavaScript

In PHP, farei qualcosa come:

$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";

Come potrei fare la stessa cosa in JavaScript?

Soluzione

Non avete bisogno di jQuery per questo. Usa il normale javascript

var arr = new Array();
// or var arr = [];
arr.push('value1');
arr.push('value2');

Nota: In javascript, potete anche usare gli oggetti come array, ma avere ancora accesso ai prototipi di array. Questo fa sì che l'oggetto si comporti come un array:

var obj = new Object();
Array.prototype.push.call(obj, 'value');

creerà un oggetto che assomiglia a:

{
    0: 'value',
    length: 1
}

Potete accedere ai vani proprio come un normale array, ad esempio obj[0].

Commentari (8)

Questo non ha niente a che fare con jQuery, solo con JavaScript in generale.

Per creare un array in JavaScript:

var a = [];

Oppure:

var a = ['value1', 'value2', 'value3'];

Per aggiungere valori alla fine dell'array esistente:

a.push('value4');

Per creare un nuovo array, dovreste usare [] invece di new Array() per le seguenti ragioni:

  • new Array(1, 2) è equivalente a [1, 2], ma new Array(1) non è * equivalente a [1]. Piuttosto quest'ultimo è più vicino a [undefined], poiché un singolo argomento intero al costruttore di Array indica la lunghezza desiderata dell'array.
  • Array, proprio come qualsiasi altra classe JavaScript incorporata, non è una parola chiave. Pertanto, qualcuno potrebbe facilmente definire Array nel tuo codice per fare qualcosa di diverso dal costruire un array.
Commentari (1)

Puoi usare il metodo .push() (che è JavaScript standard)

ad es.

var primates = new Array();
primates.push('monkey');
primates.push('chimp');
Commentari (0)