2013-04-26 11 views
7

il mio script crea una matrice vuota e quindi la riempie. Ma se arrivano nuovi argomenti, si prevede che lo script distruggerà quello vecchio e ne creerà uno nuovo.Javascript: esiste un modo per distruggere tutti gli elementi di un array con un solo comando?

var Passengers = new Array(); 

function FillPassengers(count){ 
    for(var i=0;i<count;i++) 
     Passengers[i] = i; 
} 

voglio distruggere il vecchio, perché nuovo conteggio può essere inferiore a vecchio e l'ultimo elemento di matrice ancora saranno memorizzare vecchio array? è giusto e se è come posso distruggerlo?

+0

Questo post vi aiuterà. http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

+0

questo post ti aiuterà. http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

risposta

5

Si può semplicemente fare questo per svuotare una matrice (senza cambiare l'oggetto matrice stessa):

Passengers.length = 0; 

Oppure, con il tuo codice:

function FillPassengers(count){ 
    for(var i=0;i<count;i++) 
     Passengers[i] = i; 
    Passengers.length = count; 
} 
8

questo creerà un nuovo array vuoto Passengers = [] . Non sei sicuro di cosa dovresti fare.

O semplicemente Passengers.length = 0;

+0

Stavo per pubblicare la stessa cosa. – Bart

2

Si può solo ri-assegnare un nuovo Array esempio

Passengers = [ ]; 

rispettivamente

Passengers = new Array(); 

Il garbage collector fino a prendersi cura di tutto il resto.

+0

grazie mille. Passeggeri = []; Passeggeri = nuova matrice(); entrambi risolvono il problema –

+0

Sì ... solo entrambi hanno risolto il problema '' D '@jAndy Vedete come più alternative possono aiutare l'OP a capire le cose? ':)' – VisioN

+0

:) ognuno è ok grazie ancora –

2

Molto semplice

riz = []; 

o

riz.length = 0; 
+0

Troppo tardi per la festa ... – VisioN

Problemi correlati