【问题标题】:Remove (bool)false values from array in flash从闪存中的数组中删除(布尔)假值
【发布时间】:2012-03-24 14:28:45
【问题描述】:

我有一个包含很多值的数组,包括很多“假”值。 有没有比这更快的删除“假”值的方法:

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;
}

?

【问题讨论】:

    标签: arrays actionscript-3 flash


    【解决方案1】:

    你可以使用filter的方法。

    例如:

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

    请注意,此示例与您发布的代码一样,也会过滤其他项目,例如 0null 对象和空字符串。

    如果要保留这些值,可以将之前的代码改成:

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

    【讨论】:

    • arr = arr.filter(function (e):Boolean {return Boolean(e);}); ?
    猜你喜欢
    • 2022-01-07
    • 2019-05-23
    • 2015-12-30
    • 2022-01-01
    • 1970-01-01
    • 2013-09-11
    • 2022-06-28
    相关资源
    最近更新 更多