Javascript 通过对相关键求和,按数组中的键求和

Javascript 通过对相关键求和,按数组中的键求和,javascript,Javascript,我有如下数组 [ ["game1",25], ["game2",25], ["game3",40], ["game1",45], ["game2",45], ] 我希望输出如下: [ ["game1",70] ["game2",70] ["game3",40] ] 我尝试过使用array.reduce,但它不起作用,有什么帮助吗? 我

我有如下数组

[
["game1",25],
["game2",25],
["game3",40],
["game1",45],
["game2",45],
]
我希望输出如下:

[
["game1",70]
["game2",70]
["game3",40]
]
我尝试过使用array.reduce,但它不起作用,有什么帮助吗? 我的部分


您可以将项目减少为累积值对象“映射”,然后将结果对象转换为条目列表

const数据=[
[“游戏1”,25],
[“游戏2”,25],
[“游戏3”,40],
[“游戏1”,45],
[“游戏2”,45]
];
const reduced=Object.entries(data.reduce((acc,[key,value])=>
({…acc[key]:(acc[key]??0)+value}),{});
log(JSON.stringify(reduced))

.as控制台包装{top:0;最大高度:100%!important;}
代码的问题是您仍在尝试使用数组。这是可以做到的,只是效率不高。您希望研究如何使用对象

使用Object.entries和reduce可以获得所需的格式

var数据=[
[“游戏1”,25],
[“游戏2”,25],
[“游戏3”,40],
[“游戏1”,45],
[“游戏2”,45],
];
var结果=Object.entries(data.reduce)(acc,game)=>{
acc[游戏[0]=(acc[游戏[0]]| | 0)+游戏[1];
返回acc;
}, {}));

控制台日志(结果)
您可以使用
数组#reduce
对值求和,然后使用
Object.entries
进行重组。然后调用

const arr=[[游戏1,25],“游戏2,25],“游戏3,40],“游戏1,45],“游戏2,45],];
const res=Object.entries(
arr.reduce((acc,curr)=>
(acc[curr[0]]=(acc[curr[0]]?0)+curr[1],acc)
,{})
);

console.log(res)
reduce和object.entries显示您尝试了什么,可能是输入错误。。。。也许你90%的时间都在那里。我们不知道,因为我们看不到您尝试了什么。如果我们不知道您尝试了什么,我们无法帮助您找出问题所在。如果我们只是发布一个解决方案,它可能无法帮助您找出问题所在。我添加了我的代码,请查看并回复
   aboveArray.reduce((acc,curr)=>{
       acc[curr[0]] ? acc[curr[0] += acc[curr[1]] : acc[curr[0]]=acc[curr[1]]
    return acc;
    },[])