typescript - 在Typescript中按日期变量将数组元素分组为周
问题描述
我有一个名为 items 的数组,其中包含 29 个项目。每个项目都有日期、名称、代码和周数。我正在尝试按它们在打字稿中的周数对这些项目进行分组。有人可以帮忙吗?
这是我的数组目前的样子:
items:
0:
code: "N"
date: "2020-10-13T01:00:00.000Z"
name: "Tuesday"
week: 7
1:
code: "N"
date: "2020-10-13T01:00:00.000Z"
name: "Tuesday"
week: 7
2: {date: "2020-10-12T01:00:00.000Z", name: "Monday", code: "O", …}
3: {date: "2020-10-12T01:00:00.000Z", name: "Monday", code: "O", …}
ETC - 最多 29 个。但是我希望它按周分组如下。有谁知道如何做到这一点?
weeks:
0:
days:
0:{name:Monday, date: ####, code:###}
0:{name:Tuesday, date: ####, code:###}
1:
days:
0:{name:Monday, date: ####, code:###}
0:{name:Tuesday, date: ####, code:###}
2:
days:
0:{name:Monday, date: ####, code:###}
0:{name:Tuesday, date: ####, code:###}
解决方案
groupBy
从包中使用lodash
(带有一点后处理)或for
像这样简单地使用:
const weeks: Record<string, any> = {};
for (const item of items) {
if (!weeks[item.week]) {
weeks[item.week] = {
days: []
}
}
weeks[item.week].days.push({
name: item.name,
date: item.date,
code: item.code
})
}
注意:而不是any
你应该用 days 数组道具指示某种类型,其中每个元素都有名称、日期和代码道具
推荐阅读
- windows-10 - openMP 环境设置
- database - ORM 是否应该为所有请求提供单个数据库连接?
- python - 创建新子类的语法糖?
- react-native - Flatlist 渲染空白空间
- python-3.x - Tkinter 框架未在按钮单击时显示
- youtube-api - 使用 YouTube API 检索热心评论
- azure - 使用 Azure CLI 设置 Azure Function 应用配置时出现 ) 的问题
- vb.net - 将一个数组分配给另一个数组:数组协方差
- google-apps-script - 如何为 Podio OAuth2 授权设置重定向 url
- amazon-ec2 - terraform.apply InvalidParameterException:以下提供的实例类型不存在:[m4.large]