Javascript 使用lodash从数组返回对象键和值

Javascript 使用lodash从数组返回对象键和值,javascript,lodash,Javascript,Lodash,我有这个数组,我需要取出每个名称和年龄值,然后将名称值设为一个新键,将年龄值设为一个新值 阵列 var arr = [ {name: "jack", age: 32 }, {name: "jane", age: 34 } ] 我以前的代码 var monthlyProfit = _.map(arr, function(v) { var obj = { v.name: v.age }; return obj; }); console.log(monthlyProfit

我有这个数组,我需要取出每个名称年龄值,然后将名称值设为一个新键,将年龄值设为一个新值

阵列

var arr = [
 {name: "jack", age: 32 },
 {name: "jane", age: 34 }
]
我以前的代码

var monthlyProfit = _.map(arr, function(v) {
  var obj = {
    v.name: v.age
  };

  return obj;
});

console.log(monthlyProfit) // Error
期望值

var arr = [
 {jack: 32},
 {jane: 34}
]

我使用的是lodash,但vanilla JS不会有问题。

您当前试图定义属性的方式将不起作用。有多种方法可以实现您想要实现的目标,但我通常会这样做(使用ES5):

或者像这样,作为ES6一行程序:

//using lodash
var monthlyProfit = _.map(arr, ({ name, age }) => ({ [name]: age }))

//or, pure ES6 without lodash:
var monthlyProfit = arr.map(({ name, age }) => ({ [name]: age }))
您应该会看到
语法错误:意外标记。
在当前代码中创建对象的行。

可能会解释代码不工作的原因。
//using lodash
var monthlyProfit = _.map(arr, ({ name, age }) => ({ [name]: age }))

//or, pure ES6 without lodash:
var monthlyProfit = arr.map(({ name, age }) => ({ [name]: age }))