gpt4 book ai didi

typescript - 将数组作为参数应用于 Date 构造函数

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:43 24 4
gpt4 key购买 nike

我正在尝试从具有可变数量元素的 string[] 构造一个 Date - 有时 3 个,有时 6 个。但是,以下 Typescript 代码失败编译:

const parts = ['1', '1', '2001'];
const dte = Date.apply(undefined, parts) as Date;

与:

Argument of type 'string[]' is not assignable to parameter of type '[]'.ts(2345)

大概编译器正在尝试不带参数的 Date 构造函数,这是我不想要的。但即使数组是 number[],编译器似乎也没有找到正确的重载:

const parts1 = parts.map(x => parseInt(x,10));
dte = Date.apply(undefined, parts1) as Date;

我该如何解决?

更具体地说,如何使用值数组作为构造函数的参数来创建Date

最佳答案

首先,确保使用数字而不是字符串。这就是类型签名所说的。

[1, 1, 2001]

然后,将您刚刚告诉我们的内容告诉 TypeScript — 您的列表不仅仅是任何数字列表 (number[]),而是恰好包含 3 个或更多项的列表。

type Sequence<T> = [T, T, T, ...T[]];

const parts: Sequence<number> = [1, 1, 2001];

您需要做的就是创建一个新日期

const dte = new Date(...parts);

关于typescript - 将数组作为参数应用于 Date 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53756056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com