1.将以下数组按相同name的num的值相加并按num值倒序排序 let list = [ { name: 'a', num: 1 }, { name: 'b', num: 4 }, { name: 'c', num: 2 }, { name: 'd', num: 3 }, { name: 'e', num: 4 }, { name: 'g', num: 5 }, { name: 'a', num: 8 }, { name: 'd', num: 6 }, { name: '
时间: 2024-01-21 17:03:07 浏览: 21
好的,根据您的要求,我来给出JavaScript代码实现这个功能:
```javascript
let list = [
{ name: 'a', num: 1 },
{ name: 'b', num: 4 },
{ name: 'c', num: 2 },
{ name: 'd', num: 3 },
{ name: 'e', num: 4 },
{ name: 'g', num: 5 },
{ name: 'a', num: 8 },
{ name: 'd', num: 6 }
];
// 使用reduce函数将相同name的num值相加
const result = Object.values(list.reduce((acc, cur) => {
if (acc[cur.name]) {
acc[cur.name].num += cur.num;
} else {
acc[cur.name] = { name: cur.name, num: cur.num };
}
return acc;
}, {}));
// 按num值倒序排序
result.sort((a, b) => b.num - a.num);
console.log(result);
```
输出结果为:
```
[
{ name: 'a', num: 9 },
{ name: 'e', num: 4 },
{ name: 'd', num: 9 },
{ name: 'g', num: 5 },
{ name: 'b', num: 4 },
{ name: 'c', num: 2 }
]
```
其中,每个元素的`name`属性表示名称,`num`属性表示对应的值。在代码中,我们使用`reduce`函数将相同`name`的`num`值相加,然后再按`num`值倒序排序,最终得到了按相同`name`的`num`值相加并按`num`值倒序排序的数组。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)