数组reduce()方法
reduce()函数接收的参数和map()类似,一个函数f,一个list,但行为和map()不同,reduce()传入的函数f必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
例子
def f(x, y):
return x + y
reduce(f, [1, 3, 5, 7, 9]) # 返回结果为25
reduce()还可以接收第3个可选参数,作为计算的初始值。
也就是说
第一个参数是函数 第二个参数或者第三个参数都是第一个函数的参数 ,
计算的时候要给个初始值0
如果把初始值设置为100
reduce(f, [1, 3, 5, 7, 9], 100) # 返回结果为125
// 先使用 filter 方法,从购物车中过滤器已勾选的商品
// 再使用 reduce 方法,将已勾选的商品总数量进行累加
// reduce() 的返回值就是已勾选的商品的总数量
return state.cart.filter(x => x.goods_state).reduce((total, item) => total += item.goods_count, 0)