Skip to content

isNonEmptyArray

检查值是否为数组,并且数组长度大于0。

签名

typescript
function isNonEmptyArray<T>(value: unknown): value is T[];

示例

typescript
import { isNonEmptyArray } from '@fu/matrix';

// 非空数组
isNonEmptyArray([1, 2, 3]); // => true
isNonEmptyArray(['a']); // => true
isNonEmptyArray([null]); // => true
isNonEmptyArray([undefined]); // => true
isNonEmptyArray([{}]); // => true

// 空数组
isNonEmptyArray([]); // => false

// 非数组值
isNonEmptyArray(null); // => false
isNonEmptyArray(undefined); // => false
isNonEmptyArray({}); // => false
isNonEmptyArray(''); // => false
isNonEmptyArray('abc'); // => false
isNonEmptyArray(123); // => false

// 类数组对象
const arrayLike = { 0: 'a', length: 1 };
isNonEmptyArray(arrayLike); // => false

参数

参数类型描述
valueunknown要检查的值

返回值

类型描述
boolean如果值是非空数组返回 true,否则返回 false

类型定义

typescript
function isNonEmptyArray<T>(value: unknown): value is T[];

注意事项

  1. 该函数会对传入值进行两个检查:

    • 是否为数组(使用 Array.isArray)
    • 数组长度是否大于 0
  2. 类型保护:

    • 当函数返回 true 时,TypeScript 会将值的类型收窄为数组类型
    • 这有助于在后续代码中安全地使用数组方法
  3. 类数组对象:

    • 类数组对象(如 arguments、NodeList 等)会返回 false
    • 只有真正的数组才会返回 true