将包含对象的数组展开成一个对象

46

给定输入:

[{ a: 1 }, { b: 2 }, { c: 3 }]

如何退货:

{ a: 1, b: 2, c: 3 }

对于数组来说,使用 lodash 并不是问题,但这里我们有一个对象数组。


在SO上询问npm包是否合适? - Szymon Toda
不可以直接询问一个包来解决问题,但你可以描述你遇到的问题,就像你刚才所做的那样,如果答案恰好是“安装这个npm包”,那么没问题。 - JJJ
12个回答

0

function carParts(manufacturer, model, ...parts) {
  return { manufacturer, model, ...Object.assign(...parts) };
}
console.log(
  carParts(
    "Honda",
    "2008",
    { color: "Halogen Lights" },
    { Gears: "Automatic Gears" },
    { LED: "Android LED" },
    { LED: "Android LED1" }
  )
);

这是我做的方式。


0
您可以轻松地将对象转换为数组。
function flatten(elements) {
  return elements.reduce((result, current) => {
    return result.concat(Array.isArray(current) ? flatten(current) : current);
  }, []);
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接