Lodash从集合中创建一个对象

时间:2016-09-13 12:39:50

标签: javascript arrays node.js lodash javascript-objects

使用以下数组;

var arr = [
    {"name": "blah"},
    {"version": "v1.0.0"},
    ...
]

我想用 lodash ;

创建以下对象
var obj = {
    "name": "blah",
    "version": "v1.0.0",
    ...
}

P.S。重复并不重要,因为在这里不会有任何问题。

3 个答案:

答案 0 :(得分:2)

这是使用纯JavaScript的解决方案。

<强>参考文献:

  1. Object.assign可用于连接Array([])
  2. Array.prototype.reduce可用于最小化var arr = [{ "name": "blah" }, { "version": "v1.0.0" }]; var obj = arr.reduce(function(o, v) { return Object.assign(o, v); }, {}); console.log(obj);值。
  3. freq

答案 1 :(得分:0)

为什么在纯粹的js中使用lodash?

var arr = [
  {
    "name": "blah"
  }, 
  {
    "version": "v1.0.0"
  }
]

var obj = arr.reduce(function(acc, val) {
  var key = Object.keys(val)[0];
  acc[key] = val[key];
  return acc;
}, {})

console.log(obj)

答案 2 :(得分:0)

Lodash实施。

var arr = [{
  "name": "name"
}, {
  "version": "v1.0.0"
},{
  "manager": "manager"
}];

var result = _.reduce(arr, function(object, value) {
  return _.assign(object, value);
}, {});

console.log(result);