Javascript underline.js u2;.extend和带有字典的列表参数

Javascript underline.js u2;.extend和带有字典的列表参数,javascript,dictionary,underscore.js,Javascript,Dictionary,Underscore.js,我想知道是否有任何方法可以轻松地用一组字典(列表)扩展关联数组。我提出了以下解决方案。我想知道,有没有更具可读性的方法 var output = {}; _.extend.apply(this, [output].concat(input_list_of_associative_arrays)); 更好的方法是: var foo = [{foo:1}, {bar:2}, {baz:3}], bar = _(arrayOfObjects).reduce(function(a, b){ retur

我想知道是否有任何方法可以轻松地用一组字典(列表)扩展关联数组。我提出了以下解决方案。我想知道,有没有更具可读性的方法

var output = {};
_.extend.apply(this, [output].concat(input_list_of_associative_arrays));

更好的方法是:

var foo = [{foo:1}, {bar:2}, {baz:3}],
bar = _(arrayOfObjects).reduce(function(a, b){ return _.extend(a, b); });
console.log(bar);
// {foo: 1, bar: 2, baz: 3}
如果您不关心额外的属性:

var foo = [{foo:1}, {bar:2}, {baz:3}],
bar = _(arrayOfObjects).reduce(_.extend);
console.log(bar);
// {foo: 1, bar: 2, baz: 3, 0:{foo:1, bar:2, baz:3}, 1:{bar:2}, 2:{baz:3}}
w={};w、 extend.apply(w,input_list)
,但这并没有太好。如果您可以修改
input\u列表
,那么您可以将
{}
反移到它的前面,并使用
apply
,而无需额外的摆弄。