2016-04-11 19 views
-5

JSでアレイを空にすることについてのトピックがありましたが、ここに投稿することはできません。私はここで尋ねなければなりません。 は、ここに私のコードです:アレイをクリアできない

sumarray.length=0; 
sumarray = []; 
    for (var i=0; i<3; i++) 
     sumarray.push(i); 
    console.log('***1***:',sumarray.length, sumarray); 
    var t; 
    while (console.log('***2***: t:',t=sumarray.pop()) || t!==undefined) { 
     console.log('***3***:',sumarray.length,sumarray); 
    } 
console.log('*****4***: ',sumarray.length, sumarray); 

そして、これは私が

は私がを取り除くことができ、他のvariable.Howにグローバルsumarray配列を割り当てていないログに見えるものですそれのゴミは? ありがとうございます。

+0

あなたは「ゴミ」とはどういう意味ですか? – Xzandro

+0

'sumarray.length = 0; sumarray = []; 'もし' sumarray'が存在し、あらかじめ配列であれば、最初の命令は冗長です。存在しても配列でない場合、それは役に立たない。存在しない場合は無効です。目的を果たすシナリオはありません。一方、あなたが私たちに与えたコード(配列には '[1,2,3]'ではなくいくつかのゲームオブジェクトが含まれている)を与えても出力は不可能なので、コードが 'sumarray'を生成するのに間違っている場合、他のどこかで間違っているわけでもありません。ペーストされたコードは、 'pop'などの定義を変更しない限り、空の' sumarray'を返します。 – Amadan

+0

ここには何が起こっていますか? @Andy:読み込みはできませんが、有効です: 'console.log'は' undefined 'を返します。 '(console.log(' *** 2 ***:t: '、t = sumarray.pop())..'? – Andy

答えて

0

というキーワードをそのまま使用してください。

例下記をご覧:

var summary = ["x","y","z"]; 

その後、

for(var i=0; i < summary.length; i++){ 
    delete summary[i]; 
    } 

--update

は未定義の占有長さを持つ配列を返しますが、インデックスを維持します削除します。

あなたはまだ完全にインデックス付けを削除するためにポップを使用することができます

for(var i=0; i < summary.length; i++){ 
     summary.pop(i); 
     } 
+0

アイデアをありがとう - 最初の方法は役に立たなかった - 私は同じログを参照してください。 2番目はすでに使用しています。 – Pochemuchka

+0

compをリブートした後も同じです。 :( – Pochemuchka

関連する問題