
使用javascript高效处理数组对象:合并与格式转换
本文介绍一种JavaScript方法,用于将数组对象按toolName合并并转换格式。该方法利用reduce方法实现高效的数据处理。
步骤如下:
按toolName分组: 使用reduce方法将具有相同toolName的对象聚合到一起。合并timeRange和value: 对于每个toolName,将所有对象的timeRange和value分别合并成数组。 确保timeRange和value数组元素一一对应。
以下是实现代码:
function transformData(list) { const groupedData = list.reduce((result, item) => { (result[item.toolName] = result[item.toolName] || []).push(item); return result; }, {}); return Object.entries(groupedData).map(([toolName, items]) => ({ [toolName]: items.reduce((acc, item) => { const normName = item.normName; acc[normName] = acc[normName] || { normName, timeRange: [], value: [] }; acc[normName].timeRange.push(item.timeRange); acc[normName].value.push(item.value); return acc; }, {}) }));}
此代码首先按toolName分组数据,然后对每个toolName下的数据,进一步按normName分组,并将timeRange和value合并到对应的normName对象中。 最终输出结果为一个对象数组,每个对象包含一个toolName和其对应的处理后的数据。 此方法清晰易懂,且效率较高,适合处理大量数据。
立即学习“Java免费学习笔记(深入)”;
以上就是如何用JavaScript将数组对象按toolName合并并转换格式?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1561482.html
微信扫一扫
支付宝扫一扫