lodash 函数库- - compack函数
compack函数
创建一个新数组,包含原数组中所有的非假值元素。
例如false
, null
,0
, ""
, undefined
, 和 NaN
都是被认为是“假值”。
一般用于过滤数组中的假值
在定义返回类型时候,采用Exclude
条件类型把null
、undefiend
、false
、 0
、""
、这几种值排除掉.
/**
*
* 创建一个新数组,包含原数组中所有的非假值元素。
* 例如false, null,0, "", undefined, 和 NaN 都是被认为是“假值”。
*
*
* @param array 待处理数组
* @returns ${Array} 返回过滤掉假值的新数组
* @example
*
* compack(['1',0,'',null,undefined,NaN])
* // => ['1']
*/
const compack = <T>(array: Array<T>): Array<Exclude<T, null | undefined | false | 0 | "">> => {
let result = new Array();
// 边界检查与条件判断
for (let i = 0; i < array.length; i++) {
if (array[i]) result.push(array[i]);
}
return result;
};
export default compack;
实用例子:
import compack from "../src/compack";
const arr = [0, , , "", 2, null, undefined, NaN, "s"];
const nw = compack(arr);
console.log(nw); // [ 2, 's' ]