如何将原始数据优雅地转换为按年龄分组的姓名对象数组?
如何优雅地转换对象数据?
想要将原始数据:
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 中包含所有年龄索引。
- 为每个年龄索引找到对应的年龄组,并将其名字赋值给该索引下的属性。
以上就是如何将原始数据优雅地转换为按年龄分组的姓名对象数组?的详细内容,更多请关注其它相关文章!