typescript - 打字减少方法
问题描述
我是 TS 的新手,无论我在做什么将这个 reduce 方法转换为 TS,逻辑中的某些东西都会出错。将不胜感激任何帮助!
nst dateConverter: any = (sec: any) => new Date(sec * 1000).toLocaleString('en-US', { hour: 'numeric', hour12: true });
export const timeLogic: React.FC = (obj: any) => Object.keys(obj).reduce<any>((Acc,Day,Idx,Src): any => {
if ( obj[Day].length === 0 || ( obj[Day].length === 1 && obj[Day][0].type === 'close' ))
Acc[Day] = <p>closed</p>
else {
let isOpen: any = false,
isFirstClose = (obj[Day][0].type === 'close') ? 1 : 0;
Acc[Day] = obj[Day].slice(isFirstClose).map((type: any,value: any): any => {
isOpen = (type === 'open')
return dateConverter(value)
})
if (isOpen) {
let nextDay: any = Src[(Idx +1) % Src.length]
Acc[Day].push( dateConverter(obj[nextDay][0].value) )
}
let ins: any = 0;
Acc[Day] = Acc[Day].join(' - ').replace(/ -/g, (hyphen: any) => {
return (ins++ % 2) ? ',' : hyphen;
});
}
return Acc
},{})
解决方案
推荐阅读
- java - 在设置上写入值时出现 IllegalArgument 异常
- vue.js - 在我的 APP (Vue3) 上使用 :Value 时无法访问 V-model
- javascript - 重新加载时动态创建的表无法正确显示
- r - bigrquery:使用 dplyr 动词在 5-95 个分位数内提取平均值、最大值、最小值和 sd 不起作用
- python - python请求获取八位字节流并发布给其他人而不下载
- reactjs - 如何从 Node.js 获取 URL 到 React.js?
- single-sign-on - Office 加载项 SSO AzureAD Word 在线
- mysql - 使用 UNION 组合两个 SELECT 查询的 ORDER BY
- node.js - 如何处理这个错误 npm ERR!代码 ENOENT npm 错误!系统调用打开 npm 错误!路径 C:\Users\M.Tech/package.json npm 错误!错误号 -4058
- puppeteer - 在 pyppeteer 中加载 JS 脚本时未定义对 Tone 的引用