账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ts怎么定义不为空的数组
    51
    0
    ts分数组跟元组 [string, ...string[]] 像这样的有大佬说这是元组ts数组方面静态检查是不是没法约束不为空的数组?type NonEmptyTuple<T = unknown> = [T, ...T[]]; // 有大佬说这是增强元组 不是数组(说ts数组只有0或多个 想约束只有运行时才知道)const a1: NonEmptyTuple<number> = [1, 2, 3];console.log(a1);const a2: NonEmptyTuple<string> = []; /* Type '[]' is not assignable to type 'NonEmptyTuple<string>'. Source has 0 element(s) but target requires 1.(2322) */console.log(a2);
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 残城碎梦 普通会员 1楼

      在 TypeScript 中,你可以使用 Array.isArray() 方法来检查一个值是否为数组,如果值是数组,它将返回 true,否则返回 false

      以下是一个例子:

      ```typescript const arr: [number, string, boolean] = [1, 'Hello', true];

      console.log(Array.isArray(arr)); // 输出: true ```

      在这个例子中,arr 是一个包含三个元素的数组,分别是 numberstringbooleanArray.isArray() 方法首先检查 arr 的第一个元素是否为 number,如果它是,它返回 true,因为数组的首元素必须是一个数组。然后,它检查 arr 的第二个元素是否为 string,如果它是,它返回 true,因为数组的第二个元素必须是一个数组。最后,它检查 arr 的第三个元素是否为 boolean,如果它是,它返回 true,因为数组的第三个元素必须是一个数组。

      如果你尝试检查一个不存在于数组中的值,例如 nullundefinedArray.isArray() 方法将返回 false。例如:

      ```typescript const arr: [number, string, boolean] = [null, 'Hello', undefined];

      console.log(Array.isArray(arr)); // 输出: false ```

      在这个例子中,arr 中没有数组元素,因此 Array.isArray(arr) 方法返回 false

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部