如何在 Javascript 中将数组转换为具有相同键的对象数组?

Ale*_*m S -1 javascript arrays object

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

var arr = ['ab', 'cd', 'ef'];
Run Code Online (Sandbox Code Playgroud)

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

[
  { name: 'ab' },
  { name: 'cd' },
  { name: 'ef' }
];
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

arr.reduce((a, c) => ((a[c] = c), a), {});
Run Code Online (Sandbox Code Playgroud)

cse*_*itz 7

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

arr.map(o => ({ name: o }))
Run Code Online (Sandbox Code Playgroud)

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

arr.map(function(o) {
   return {
      name: o,
   }
})
Run Code Online (Sandbox Code Playgroud)