0

values将其视为未确定的对象列表。

我想要一个有效的 ES5 版本:

var result = _.merge({}, ...values); // <-- This is what I want

由于...anything不允许我这样做:

var result _.reduce(response, function(result, value) {
  return _.merge(result, value);
}, {});

但我很确定这不是最好的方法......

有任何想法吗 ?

4

1 回答 1

1

您可以在值数组上使用 use Function#applyArray#concat如果您不想改变原始对象,则需要一个空对象:

_.merge.apply(_, [{}].concat(arr));

例子:

var arr = [{ a: 1 }, { b: 2 }, { c: 3 }];

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

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

于 2017-01-04T10:39:59.257 回答