如何使用.reduce函数将键值数组数组转换为对象数组?

时间:2018-07-13 15:23:59

标签: javascript google-apps-script reduce

你好,我不是JavaScript程序员。我要实现的是输出降低。由于您必须使用reduce函数,因此该脚本将在Google脚本中使用。

输入

[
  [ 'foo', 3.672698 ],
  [ 'bar', 71.999747 ],
  [ 'baz', 107.400002 ],
]

输出

[
  { 
    name: 'foo', 
    money: 3.672698 
  },
  { 
    name: 'bar', 
    money: 71.999747 
  },
  { 
    name: 'baz', 
    money: 107.400002 
  },
]

2 个答案:

答案 0 :(得分:1)

喜欢:

const input = [
  [ 'foo', 3.672698 ],
  [ 'bar', 71.999747 ],
  [ 'baz', 107.400002 ],
];

const output = input.reduce((acc, item) => {
  acc.push({
    name: item[0],
    money: item[1]
  });
  return acc;
}, [])

console.log(output);

答案 1 :(得分:0)

我知道您专门要求.reduce。但是reduce是用于将集合简化为单个值。您要求的功能是.map的服务。而且Google脚本也可以理解。看一下这个例子:

var arr = [
  [ 'foo', 3.672698 ],
  [ 'bar', 71.999747 ],
  [ 'baz', 107.400002 ],
]

var res = arr.map(function(item){ 
     return {name: item[0], money: item[1]};
});
console.log(res);