Lodash之compact过滤数组中的假值

907 阅读1分钟

以梦为马,逐鹿江湖

compact

/**
 * 将数组(array)中的假值过滤掉
 * @returns {Array} 返回过滤掉假值的新数组.
 * @example
 * compact([0, 1, false, 2, '', 3, NaN]);
 * // => [1, 2, 3]
 */
function compact(array) {
    var index = -1,
        length = array == null ? 0 : array.length,
        resIndex = 0,
        result = [];

    while (++index < length) {
        var value = array[index];
        if (value) {
            result[resIndex++] = value;
        }
    }
    return result;
}