underscore.js _.extend和带字典的列表参数

时间:2014-02-28 09:47:57

标签: javascript dictionary underscore.js

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

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

1 个答案:

答案 0 :(得分:2)

更好的方法:

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}}