首页 > 解决方案 > 如何在Javascript中将数组转换为具有相同键的对象数组?

问题描述

考虑一个包含一组值的简单数组。

var arr = ['ab', 'cd', 'ef'];

我想将上面的数组转换成,

[
  { name: 'ab' },
  { name: 'cd' },
  { name: 'ef' }
];

我试过的:

arr.reduce((a, c) => ((a[c] = c), a), {});

标签: javascriptarraysobject

解决方案


您可以使用 来执行此操作Array.map,它允许您指定一个函数,该函数返回要在数组中替换的新项目。

arr.map(o => ({ name: o }))

这是一个没有花哨的箭头函数简写,以防你感到困惑。

arr.map(function(o) {
   return {
      name: o,
   }
})

推荐阅读