Igo*_*nko 9 javascript arrays reduce typescript
我正在用一些 func 生成具有时间间隔的对象,它返回 
["00:00","00:30","01:00"]... ,但为了我的目的,我需要 obj-map 
{{"00:00": "00:00"}, {"00:30":"00:30"}, {"01:00":"01:00"}}
我在下面输入 reduce func 时遇到问题,我如何输入 acc 或 func 的返回值到避免使用anyas 类型 for acc?
generateTimeIntervals(0, 1440, 30).reduce((acc, val) => {
  acc[val] = val;
  return acc;
}, {})
T.J*_*der 19
我如何输入 acc 或 func 的返回值以避免使用 any 作为 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代码是否还需要进行一些调整的问题中,我并不完全清楚,但这是一个不同的问题......
cas*_*hol 17
您可以将类型作为参数传递给reduce:
let result = generateTimeIntervals(0, 1440, 30).reduce<Record<string, string>>((acc, val) => {
  acc[val] = val;
  return acc;
}, {})
| 归档时间: | 
 | 
| 查看次数: | 8044 次 | 
| 最近记录: |