如何将对象数组转换为具有键值对的对象

新手上路,请多包涵

我想在 javascript 中将对象数组转换为具有键值对的对象。

 var arr=[{"name1":"value1"},{"name2":"value2"},...}];

我怎样才能把它转换成一个对象,比如

{"name1":"value1","name2":"value2",...}

我希望大多数浏览器都支持它。

原文由 HiddenMarkow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 562
2 个回答

您可以使用 Object.assign扩展语法 ... 用给定的对象数组创建单个对象。

 var array = [{ name1: "value1" }, { name2: "value2" }],
    object = Object.assign({}, ...array);

console.log(object);

原文由 Nina Scholz 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用现代 JS(YMMV):

  1. 将每个对象拆分为条目
  2. 将所有条目聚合到一个对象中
 const arr = [{name1:"value1"}, {name2:"value2"}, {a:1,b:2}];
const obj = Object.fromEntries(arr.flatMap(Object.entries));
console.log(obj);

原文由 customcommander 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题