优化 - lodash 与许多 args 合并的兼容性
Optimization - Compatibility for lodash merge with many args
将 values
视为未确定的对象列表。
我想要一个有效的 ES5 版本:
var result = _.merge({}, ...values); // <-- This is what I want
由于不允许 ...anything
我做了这个:
var result _.reduce(response, function(result, value) {
return _.merge(result, value);
}, {});
但我很确定这不是最好的方法...
有什么想法吗?
您可以对值数组使用 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>
将 values
视为未确定的对象列表。
我想要一个有效的 ES5 版本:
var result = _.merge({}, ...values); // <-- This is what I want
由于不允许 ...anything
我做了这个:
var result _.reduce(response, function(result, value) {
return _.merge(result, value);
}, {});
但我很确定这不是最好的方法...
有什么想法吗?
您可以对值数组使用 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>