compact 【去除数组中无效值】
描述
去除数组中的无效/无用值 v3.0.10+
# 1.示例
import { compact } from 'sf-utils2'
compact([0, 1, '', 2, {}, [], null, undefined, NaN]) => [1, 2, {}, []]
1
2
3
2
3
# 2.入参说明
| 参数 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| array | 原数组 | Array | 是 |
| callbackFn | 自定义过滤方法 | Function | 否 |
# 3.源码
import isArray from '@/base/isArray'
import isFunction from '@/base/isFunction'
/**
* 去除数组中的无效/无用值
* @param {Array} array
* @param {(item:any, index:number, arr:any[]) => boolean} callbackFn
* @return {*}
* @example
* compact[0, 1, '', 2, {}, [], null, undefined, NaN]
* =>
* [1, 2, {}, []]
*/
function compact(array, callbackFn) {
if (!isArray(array)) array = Array.from(array)
if (isFunction(callbackFn)) {
array.filter(function () {
return callbackFn.call(this, ...arguments)
})
}
return array.filter(Boolean)
}
export default compact
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上次更新: 2023/06/24, 19:35:48