// 计算表单管线长度
let count = tableData.reduce((total, cur) => {
return total + Number(cur.lineLength);
}, 0);
that.addForm.lineLength = count;
我们先来看看这个方法的官方概述:reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
你一定也和我一样看的有点迷糊,其实reduce接收的就是一个回调函数,去调用数组里的每一项,直到数组结束。
我们来举个例子大家就很明白了。
假设我有一串数组,数组里放的全是数字,我要算出这些数字的总和是多少。正常情况下我们会循环,然后一个个加,有了reduce就不用那么麻烦了,只用一行代码。
var total = [0,1,2,3,4].reduce((a, b)=>a + b); //10
这个方法是如何工作的呢?
reduce
用lodash解决数组中对象属性的累加及合并前言案例
我工作的过程中,遇到一个场景。循环调用同一个接口,然后需要对返回的结果做聚合操作,将每个对象中的属性都累加起来。对应的Value是个数字。此时,我想到了用lodash去处理。
const source = {
count:{
countOne:{
B:100,
countTwo:33,
vegetabl