2012-03-24 5 views
0

私は、多くの 'false'値を含む多くの値を持つ配列を持っています。フラッシュ内の配列からfalse値を削除する(

function removeFalseValues (arr:Array):Array { 
    var ret:Array = new Array(); 
    for (var i:int = 0; i < arr.length; i ++) { 
     if (arr[i]) ret.push(arr[i]); 
    } 
    return ret; 
} 

: これよりも高速である「偽の」値を削除する方法はありますか?

答えて

2

filterの方法を使用できます。例えば

arr = arr.filter(function(item:*):Boolean { 
    return item; 
}); 

なお、この例で、あなたはまた、そのような他の0などのアイテム、nullオブジェクトと空の文字列をフィルタリングします投稿コードのよう。

あなたは、これらの値を保持したい場合は、あなたに、以前のコードを変更することができます

arr = arr.filter(function(item:*):Boolean { 
    return item || !(item is Boolean); 
}); 
+0

'ARR = arr.filter(関数(E):ブールは{ブール(e)を返します;});' ? – 19greg96

関連する問題