当前位置:首页 > 编程笔记 > 正文
已解决

js数组操作——对象数组根据某个相同的字段分组

来自网友在路上 11268126提问 提问时间:2023-11-20 17:12:18阅读次数: 126

最佳答案 问答题库1268位专家为你答疑解惑

js数组操作——对象数组根据某个相同的字段分组

可以使用JavaScript的map()方法和reduce()方法来实现将数组中包含的数组对象的某个字段整合为数组的操作。具体实现方法如下:
假设有以下数组对象arr:let arr = [{name: 'Tom', age: 18, hobbies: ['reading', 'swimming']},{name: 'Jerry', age: 20, hobbies: ['running', 'singing']},{name: 'Lucy', age: 22, hobbies: ['dancing', 'drawing']}
];
1.使用map()方法将每个对象的hobbies属性映射为一个新的数组:let hobbiesArr = arr.map(item => item.hobbies);
// 输出:[ [ 'reading', 'swimming' ], [ 'running', 'singing' ], [ 'dancing', 'drawing' ] ]
2.使用reduce()方法将多个数组合并为一个数组:let resultArr = hobbiesArr.reduce((prev, curr) => prev.concat(curr));
// 输出:[ 'reading', 'swimming', 'running', 'singing', 'dancing', 'drawing' ]
因此,可以将以上两个步骤合并为一步,实现将数组中包含的数组对象的某个字段整合为数组的操作:let resultArr = arr.map(item => item.hobbies).reduce((prev, curr) => prev.concat(curr));// 输出:[ 'reading', 'swimming', 'running', 'singing', 'dancing', 'drawing' ]
12
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"js数组操作——对象数组根据某个相同的字段分组":http://eshow365.cn/6-40513-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!