gpt4 book ai didi

javascript - 使用数组 reduce typescript 将类型赋予累加器

转载 作者:行者123 更新时间:2023-11-30 09:10:44 25 4
gpt4 key购买 nike

我正在生成具有某些功能的具有时间间隔的对象。它返回 ["00:00", "00:30", "01:00"] ... ,但为了我的目的,我需要有 obj-map {{ "00 :00": "00:00"}, { "00:30": "00:30"}, { "01:00": "01:00"}}.

我在下面输入 reduce 函数时遇到问题。如何键入 acc 或函数的返回值以避免使用 any 作为 acc 的类型?

generateTimeIntervals(0, 1440, 30)
.reduce((acc, val) => {
acc[val] = val;
return acc;
}, {})

最佳答案

how can i type acc or the return value of the func to avoid using any as type for acc?

您可以通过提供 {} 的类型来做到这一点您提供的种子,例如 Record<string, string> (但确切的类型不是这里的重点,重点是分配类型是你如何做你所要求的):

let result = generateTimeIntervals(0, 1440, 30).reduce((acc, val) => {
acc[val] = val;
return acc;
}, {} as Record<string, string>);

TypeScript 将能够遵循 reduce调用的逻辑足以根据它为您键入返回值。

或者,不要使用 reduce然后输入 result :

let result: Record<string, string> = {};
for (const val of generateTimeIntervals(0, 1440, 30)) {
result[val] = val;
}

关于javascript - 使用数组 reduce typescript 将类型赋予累加器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59321685/

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