
如何优雅地转换对象数据?
想要将原始数据:
let arr = [ { name: '张三', age: 1 }, { name: '李四', age: 1 }, { name: '小红', age: 3 }, { name: '明明', age: 3 }, { name: '兰兰', age: 3 }, { name: '红红', age: 4 }, { name: '刘明', age: 4 }, { name: '王五', age: 8 }, { name: '麻子', age: 8 }, { name: '瘸子', age: 8 },];
转换为目标数据:
targetArr = [ { 1: '张三', 3: '小红', 4: '红红', 8: '王五' }, { 1: '李四', 3: '明明', 4: '刘明', 8: '麻子' }, { 1: '', 3: '兰兰', 4: '', 8: '瘸子' },];
其实我们可以采用如下步骤:
初始化一个空对象 temp,用于存储按年龄分组后的名字数组。遍历原始数据,并为每个年龄组构造一个数组,将其添加到 temp 中。遍历 temp,并创建空对象数组 targetArr。依次遍历每个年龄组,并为其添加一个按年龄索引的属性。遍历 temp的所有年龄组,确保 targetArr 中包含所有年龄索引。为每个年龄索引找到对应的年龄组,并将其名字赋值给该索引下的属性。
以上就是如何将原始数据优雅地转换为按年龄分组的姓名对象数组?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1558198.html
微信扫一扫
支付宝扫一扫