values
视为不确定的对象列表。
我想要一个有效的ES5版本:
var result = _.merge({}, ...values); // <-- This is what I want
由于不允许...anything
,我做了这个:
var result _.reduce(response, function(result, value) {
return _.merge(result, value);
}, {});
但我很确定这不是最好的方法......
有什么想法吗?
您可以在值数组上使用 use Function#apply
。如果您不想改变原始对象,则需要Array#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>