【问题标题】:How to merge two arrays to an object? [duplicate]如何将两个数组合并为一个对象? [复制]
【发布时间】:2021-07-13 01:18:43
【问题描述】:

我有两个长度相同的数组。

array1 = ['title', 'details', 'price', 'discount'];
array2 = ['product name', 'product details', 200, 20];

想将它们转换成一个对象,如下所示

newObject = {
  title: 'product name',
  details: 'product details',
  price: 200,
  discount: 20
}

怎么做?

【问题讨论】:

  • 你有没有尝试过?
  • 这能回答你的问题吗? Creating a JavaScript Object from two arrays
  • newObject = array1.reduce((acc,arr1,i) => (acc[arr1] = array2[i],acc),{})
  • 尝试了 map 和 forEach 但不能。 :(

标签: javascript


【解决方案1】:

您可以使用Array#map 创建对并使用Object#fromEntries 将结果转换为对象:

const 
  array1 = ['title', 'details', 'price', 'discount'],
  array2 = ['product name', 'product details', 200, 20];

const newObject = Object.fromEntries(
  array1.map((e,i) => ([e, array2[i]]))
);

console.log(newObject);

【讨论】:

  • newObject = array1.reduce((acc,arr1,i) => (acc[arr1] = array2[i],acc),{}) 或许更优雅
  • @mplungjan 我选择了这个解决方案,因为它显示了对的集合以及对预期输出对象的转换。也会用你的方法更新答案,谢谢你的评论!
  • 或者只留下评论
猜你喜欢
  • 1970-01-01
  • 2018-10-15
  • 2021-01-18
  • 2021-12-23
  • 1970-01-01
  • 2018-05-24
  • 2021-11-03
  • 2022-01-20
  • 2020-05-16
相关资源
最近更新 更多