_.compact(array)
创建一个新数组,包含原数组中所有的非假值元素。例如false, null, 0, "", undefined, 和 NaN 都是被认为是“假值”。
参数
array (Array): 待处理的数组
返回值
(Array): 返回过滤掉假值的新数组。
例子
let arr1=["a", "b", "c", "d",false, null, 0, "", undefined, NaN]
console.log(_.compact(arr1))//["a", "b", "c", "d"]
我的实现
let arr1=["a", "b", "c", "d",false, null, 0, "", undefined, NaN]
console.log(_.compact(arr1))//["a", "b", "c", "d"]
compact(arr){
let array=[]
for (let item of arr){
if(item){
array.push(item)
}
}
return array
}
源代码
function compact(array) {
let resIndex = 0
const result = []
if (array == null) {
return result
}
for (const value of array) {
if (value) {
result[resIndex++] = value
}
}
return result
}