我有一个包含很多值的数组,包括很多'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;
}
答案 0 :(得分:2)
您可以使用方法filter
。
例如:
arr = arr.filter( function(item:*):Boolean {
return item;
});
请注意,此示例与您发布的代码一样,也会过滤其他项目,例如0
,null
个对象和空字符串。
如果要保留这些值,可以将以前的代码更改为:
arr = arr.filter( function(item:*):Boolean {
return item || !(item is Boolean);
});