Naujos reikšmės įtraukimas į esamą masyvą naudojant "JavaScript

PHP kalba daryčiau kažką panašaus į:

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

Kaip tą patį padaryčiau "JavaScript"?

Sprendimas

Tam nereikia jQuery. Naudokite įprastą javascript

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

Pastaba: javascript sistemoje objektus taip pat galite naudoti kaip masyvus, tačiau vis tiek turėsite prieigą prie masyvų prototipų. Dėl to objektas elgiasi kaip masyvas:

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

sukurs objektą, kuris atrodys taip:

{
    0: 'value',
    length: 1
}

Prie vaules galite prieiti kaip prie įprasto masyvo, pvz., obj[0].

Komentarai (8)

Tai nesusiję su "jQuery", tiesiog apskritai su "JavaScript".

Norėdami sukurti masyvą "JavaScript":

var a = [];

Arba:

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

Pridėti reikšmes prie esamo masyvo galo:

a.push('value4');

Norėdami sukurti naują masyvą, iš tikrųjų turėtumėte naudoti [], o ne new Array() dėl šių priežasčių:

  • new Array(1, 2) yra lygiavertis [1, 2], bet new Array(1) nėra lygiavertis [1]. Pastarasis veikiau yra artimesnis [neapibrėžtam], nes vienintelis sveikojo skaičiaus argumentas konstruktoriui Array nurodo norimą masyvo ilgį.
  • Array, kaip ir bet kuri kita "JavaScript" integruota klasė, nėra raktažodis. Todėl kas nors gali lengvai apibrėžti Array savo kode, kad atliktų ką nors kita, o ne sukonstruotų masyvą.
Komentarai (1)

Galite naudoti .push() metodą (tai standartinis "JavaScript" metodas).

pvz.

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