2013-04-26 7 views
7

myスクリプトは空の配列を作成し、それを埋めます。しかし、新しい議論が来たら、スクリプトは古いスクリプトを破棄して新しいスクリプトを作成することが期待されます。Javascript- 1つのコマンドで配列のすべての要素を破壊する方法はありますか?

var Passengers = new Array(); 

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

新しいカウントが古いものより小さくてもよいし、配列の最後の要素はまだ古い配列を格納しますので、私は古いものを破壊したいですか?それが正しいのですが、どうすればそれを破壊することができますか?

+0

このポストがお手伝いします。 http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

+0

この投稿はあなたに役立ちます。 http://stackoverflow.com/questions/1232040/how-to-empty-an-array-in-javascript – Riz

答えて

5

あなたは、単に(配列オブジェクト自体を変更せずに)配列を空にするためにこれを行うことができます:

Passengers.length = 0; 

それとも、あなたのコードを持つ:

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

これは、新しい空の配列を作成しますPassengers = [] 。 あなたは何をすべきか分かりません。

それともPassengers.length = 0;

+0

私は同じことを投稿するちょうど約ました。 – Bart

2

あなただけの新しいアレイインスタンス

Passengers = [ ]; 

を再度割り当てることができ、それぞれ

Passengers = new Array(); 

残りの世話をするまで、ガベージコレクタ。

+0

ありがとう。乗客= [];乗客=新しい配列(); 両方とも問題を解決します –

+0

ええと...両方が適用されているだけで解決します:D' @jAndy複数の選択肢がOPに役立つことが分かりますか? ':)' – VisioN

+0

:)もう一度お返事ありがとうございます –

2

非常に単純な

riz = []; 

または

riz.length = 0; 
+0

パーティーには遅すぎます... – VisioN

関連する問題