Arrays 如何使用reduce()将多维数组转换为键值对?
我有一个多维数组,我想重新排列成一个键:值对 这是我已经掌握的代码:Arrays 如何使用reduce()将多维数组转换为键值对?,arrays,multidimensional-array,google-apps-script,reduce,Arrays,Multidimensional Array,Google Apps Script,Reduce,我有一个多维数组,我想重新排列成一个键:值对 这是我已经掌握的代码: var userSavedScenario = [["Nigeria",1,"Solar"],["Ghana",20,"Wind"]] var mongoForm = userSavedScenario.reduce(function(acc,scenario) { var mongoDBForm = { 'country':scenario[0], 'capacity':scenario[1], 'fuel':
var userSavedScenario = [["Nigeria",1,"Solar"],["Ghana",20,"Wind"]]
var mongoForm = userSavedScenario.reduce(function(acc,scenario) {
var mongoDBForm = {
'country':scenario[0],
'capacity':scenario[1],
'fuel':scenario[2]
}
acc[scenario] = mongoDBForm
return acc
},{})
其输出为:
{Ghana,20,Wind={country=Ghana, fuel=Wind, capacity=20.0}, Nigeria,1,Solar={country=Nigeria, fuel=Solar, capacity=1.0}}
如何使结果仅为:
{country=Ghana, fuel=Wind, capacity=20.0},{country=Nigeria,
fuel=Solar, capacity=1.0}
我建议您使用
Array.map
而不是Array.reduce
例如:
var userSavedScenario=[“尼日利亚”,1,“太阳能”,20,“风能];
var result=userSavedScenario.map(函数(行){
返回{
“国家”:第[0]行,
“容量”:第[1]行,
“燃料”:第[2]行
};
});
控制台日志(结果)代码>