如何转换javascript数组

如何转换javascript数组,javascript,arrays,Javascript,Arrays,我有一个数组: var tab = []; tab.push({key: 1,value: usa}); tab.push({key: 2,value: germany}); tab.push({key: 1,value: india}); tab.push({key: 1,value: russsia}); tab.push({key: 2,value: poland});

我有一个数组:

var tab = [];

          tab.push({key: 1,value: usa});
          tab.push({key: 2,value: germany});
          tab.push({key: 1,value: india});
          tab.push({key: 1,value: russsia});
          tab.push({key: 2,value: poland});
          tab.push({key: 1,value: uk});
我要做的是将上面的数组转换为接收:

[{"1":"usa,india,russia,uk"},
{"2":"germany,poland"}]
我希望在键字段中有唯一的值,并从值字段中聚合值

如何做到这一点?

var选项卡=[];
tab.push({key:1,值:'usa'});
tab.push({键:2,值:'germany'});
tab.push({key:1,值:'india'});
tab.push({key:1,value:'russsia'});
tab.push({键:2,值:'poland'});
tab.push({key:1,值:'uk'});
var transformedObject={};
tab.forEach(功能(项目){
transformedObject[item.key]=transformedObject[item.key]?`${transformedObject[item.key]},${item.value}`:item.value;
});
console.log(transformedObject);
//访问“2”属性

log(transformedObject['2'])使用
reduce

consorig=[{key:1,值:'usa'},{key:1,值:'rusia'},{key:2,值:'uk'}];
常数结果=原始减少((红色,el)=>{
如果(红色[el.键]!==未定义){
红色[el.key]+=`,${el.value}`;
}否则{
红色[el.键]=el.值;
}
返回红色;
}, {});
控制台日志(结果)

.as控制台包装{max height:100%!important;top:0;}
{“1”、“美国、印度、俄罗斯、英国”}
不是有效的Js对象。你的意思是
{“1”:“美国、印度、俄罗斯、英国”}
@GokhanKurt-是的,我的错误如果我很理解,这是对象中的数组?如何从该数组中获取“2”?我想将密钥从transformedObject传递到另一个函数。这是一个简单的对象,请使用
transformedObject['2']
。我已经更新了我的答案:)