移除数组中的假值元素
/**
*移除数组中的假值元素,返回非假值元素,也可以额外保留对应的元素
*假值元素:false/null/undefined/NaN/''/0
*
* @param {Array} array 获取的数组
* @param {Array} retainArr 额外保留的元素,比如需要0,则不移除array中的0
* @example
*
* _.compact([1,2,0,false,null]);
* //=>[1,2]
*/
function compact(array,retainArr) {
if (!array){
return []
}
let falseValues = [false,null,'',NaN,undefined,0];
falseValues=remove(falseValues,retainArr)//注1
return remove(array,falseValues);
}
注1:remove方法