使用lodash合并数组的对象

时间:2014-10-11 20:41:28

标签: javascript lodash

我正在尝试使用lodash将所有对象合并在一起,我尝试了_.assign和_.merge仍然会分别显示对象。

 var arr = [
    {"asf" : 33, "ff1" : 12},{"xx" : 90, "ff2" : 13},{"xw" : 66, "ff3" : 176}
]
  console.log( _.assign({}, arr)); //should show {"asf" : 33, "ff1" : 12,"xx" : 90, "ff2" : 13, "xw" : 66, "ff3" : 176}

http://jsfiddle.net/ymppagdq/

3 个答案:

答案 0 :(得分:14)

这是你可以做到的:

_.assign.apply(_, arr);

演示:http://jsfiddle.net/ymppagdq/2/

_.reduce(arr, _.extend)也可以。

答案 1 :(得分:3)

在ES2015中,您可以使用_.assign(...arr),或者如果您真的只针对ES2015,Object.assign(...arr)

答案 2 :(得分:0)

如果没有接受对象数组的方法,可以使用apply来调用多个参数:

var arr = [...];
_.assign.apply(_, [{}].concat(arr))