javascript - javascript对象的列分割
问题描述
所以这是我刚刚从 SQL 数据库获得的 javascript 对象数据:
0: {ww: "2021-27", area: "F15 WET PROCESS", dissection_name: "WAIT_OTHERS", waiting_time: 5.3670104041}
1: {ww: "2021-26", area: "F15 METROLOGY", dissection_name: "DELIVERY_TIME", waiting_time: 0}
2: {ww: "2021-26", area: "F15 WET PROCESS", dissection_name: "WAIT_FOR_START_RUNNING", waiting_time: 0.1858817617}
3: {ww: "2021-25", area: "F15 CMP", dissection_name: "BATCH_WAIT_TIME", waiting_time: 0}
4: {ww: "2021-25", area: "F15 GENERAL", dissection_name: "WAIT_OTHERS", waiting_time: 0.0326702424}
5: {ww: "2021-27", area: "F15 DRY ETCH", dissection_name: "DELIVERY_TIME", waiting_time: 0}
6: {ww: "2021-27", area: "F15 DIFFUSION", dissection_name: "BATCH_WAIT_TIME", waiting_time: 1.544808954}
7: {ww: "2021-24", area: "F15 METROLOGY", dissection_name: "WAIT_FOR_START_RUNNING", waiting_time: 0.0270019481}
8: {ww: "2021-24", area: "F15 PHOTO", dissection_name: "BATCH_WAIT_TIME", waiting_time: 0.0001341795}
9: {ww: "2021-24", area: "F15 DRY ETCH", dissection_name: "DELIVERY_TIME", waiting_time: 0}
我想对其应用一些操作,以便“waiting_time”列名将更改为每个数据块的“ww”值,以转换对象结构,如下所示:
0: {area: "F15 WET PROCESS", dissection_name: "WAIT_OTHERS", 2021-27: 5.3670104041}
1: { area: "F15 METROLOGY", dissection_name: "DELIVERY_TIME", 2021-27: 0}
2: { area: "F15 WET PROCESS", dissection_name: "WAIT_FOR_START_RUNNING", 2021-26: 0.1858817617}
3: { area: "F15 CMP", dissection_name: "BATCH_WAIT_TIME", 2021-26: 0}
4: { area: "F15 GENERAL", dissection_name: "WAIT_OTHERS", 2021-25: 0.0326702424}
5: { area: "F15 DRY ETCH", dissection_name: "DELIVERY_TIME", 2021-25: 0}
6: {area: "F15 DIFFUSION", dissection_name: "BATCH_WAIT_TIME", 2021-24: 1.544808954}
7: { area: "F15 METROLOGY", dissection_name: "WAIT_FOR_START_RUNNING", 2021-24: 0.0270019481}
8: { area: "F15 PHOTO", dissection_name: "BATCH_WAIT_TIME", 2021-23: 0.0001341795}
9: { area: "F15 DRY ETCH", dissection_name: "DELIVERY_TIME", 2021-23: 0}
最终目标实际上是将转换后的数据加载到这样的角度 ag-grid 表中:
表格示例:
area dissection_name 2021-24 2021-25 2021-26 2021-27
xxx xxx 0 1.55 2.33 5.3670
xxx xxx xxx xxx xxx xxx
有没有办法做到这一点?谢谢
解决方案
您可以使用map
以您想要的形式投影数据:
const finalData = rawData.map((item) => {
const { ww, waiting_time, ...dataItem } = item;
return {
...dataItem,
[ww]: waiting_time
};
});
推荐阅读
- php - 即使使用本地主机,ftp_connect 也无法正常工作
- javascript - 发送到客户端后无法设置标头 | express.js res.status().json()
- postgresql - 在 Postgresgl 中创建外键会出现此错误:错误:添加 toast 表需要 AccessExclusiveLock
- c# - 我的 C# win 表单应用程序在内部调用批处理脚本,如何在 Visual Studio 中导出时向最终用户隐藏它?
- google-app-engine - Cloud.google.com/go/datastore 中的 GetAll() 事务{}?
- angular - Angular Universal:路由解析器 + Firebase 加载超时
- microsoft-translator - 从 Microsoft Translator API V3 获取替代翻译
- android - 如何制作将在 API 23 上运行的应用程序
- sql - SQL 列名作为行值
- sql - 从 SQL 中 JSON 变量中的多个对象中提取数据