Appearance
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参数
| 参数 | 类型 | 描述 |
|---|---|---|
| value | unknown | 要检查的值 |
返回值
| 类型 | 描述 |
|---|---|
| boolean | 如果值是非空数组返回 true,否则返回 false |
类型定义
typescript
function isNonEmptyArray<T>(value: unknown): value is T[];注意事项
该函数会对传入值进行两个检查:
- 是否为数组(使用 Array.isArray)
- 数组长度是否大于 0
类型保护:
- 当函数返回 true 时,TypeScript 会将值的类型收窄为数组类型
- 这有助于在后续代码中安全地使用数组方法
类数组对象:
- 类数组对象(如 arguments、NodeList 等)会返回 false
- 只有真正的数组才会返回 true