2013-04-26 9 views
7

Mój skrypt tworzy pustą tablicę, a następnie ją wypełnia. Ale jeśli pojawią się nowe argumenty, skrypt powinien zniszczyć stary i stworzyć nowy.JavaScript - czy istnieje sposób na zniszczenie wszystkich elementów tablicy za pomocą jednego polecenia?

var Passengers = new Array(); 

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

Chcę zniszczyć stary, ponieważ nowy licznik może być mniejszy niż stary, a ostatnie elementy tablicy nadal będą przechowywać starą tablicę? czy to prawda, a jeśli tak, to jak mogę to zniszczyć?

+0

Ten post pomoże. http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

+0

ten post pomoże. http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

Odpowiedz

5

Można po prostu to zrobić, aby opróżnić tablicę (bez zmiany samego obiektu Array):

Passengers.length = 0; 

Lub z kodem:

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

To stworzy nową pustą tablicę Passengers = [] . Nie jesteś pewien, co powinieneś zrobić.

Albo po prostu Passengers.length = 0;

+0

Właśnie miałem odpowiedzieć to samo. – Bart

2

można po prostu ponownie przypisać nowe Array instancji

Passengers = [ ]; 

odpowiednio

Passengers = new Array(); 

Kolektor śmieci aż zajmie się resztą.

+0

wielkie dzięki. Pasażerowie = []; Pasażerowie = nowy Array(); oba rozwiązują problem –

+0

Tak ... tylko oba zastosowały rozwiązanie: ': D' @jAndy Widzisz, jak wiele alternatyw może pomóc OP zrozumieć rzeczy? ':)' – VisioN

+0

:) Każdy jest w porządku, dzięki znowu –

2

Bardzo prosty

riz = []; 

lub

riz.length = 0; 
+0

Za późno na imprezę ... – VisioN

Powiązane problemy