hsz*_*hsz 1 javascript ecmascript-6 lodash
我有以下数据集:
const input = [
{ x: 1, y: 3 },
{ y: 2, f: 7 },
{ x: 2, z: 4 }
];
Run Code Online (Sandbox Code Playgroud)
我需要对所有数组元素求和以获得以下结果:
const output = { f: 7, x: 3, y: 5, z: 4 };
Run Code Online (Sandbox Code Playgroud)
我不知道参数名称,所以我们不应该在任何地方伤害它。
将输入数组中的所有对象合并(属性求和)为一个的最短方法是什么?
可以使用 ES6 功能和 lodash。
我想这是最短的解决方案:
const input = [
{ x: 1, y: 3 },
{ y: 2, f: 7 },
{ x: 2, z: 4 }
];
let result = _.mergeWith({}, ...input, _.add);
console.log(result);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.2/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
文件:
如果您同意替换第一个元素input,则可以省略第一个参数:
_.mergeWith(...input, _.add)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
979 次 |
| 最近记录: |