Per favore, spiegamelo. Sto cercando di creare una serie di array con un ciclo for. Quando non ha funzionato, ho provato a semplificare il codice per capire cosa sta facendo Javascript, ma neanche il codice semplice ha senso.Javascript: push array su array con ciclo for
function test(){
var sub_array = [];
var super_array =[];
for (var i=1;i<=3;i++){
sub_array.push(i);
super_array.push(sub_array);
}
alert(super_array);
}
Mi aspetto di vedere [1; 1,2; 1,2,3]. Invece ottengo [1,2,3; 1,2,3; 1,2,3]. Ottengo lo stesso fenomeno se eseguo il ciclo 0-2 e assegno per indice.
perché hai scelto di usare '.slice (0)' per copiare l'array piuttosto che '.concat()'? che potrebbe essere più veloce ma la profilazione che ho fatto non era sicura. –
Interessante, secondo [questo blog] (http://swingpants.com/2009/03/12/fastest-way-to-copy-an-array-concat-or-slice0/) 'concat()' è più veloce . Lo menzionerò nella mia risposta. Grazie per il tuo commento :) –