Vue reduce函数

这篇博客介绍了JavaScript中reduce方法的使用,通过一个例子展示了如何利用reduce来统计todos数组中已完成任务的数量。同时,也给出了使用filter方法实现相同功能的代码,帮助读者理解两种方法的差异。reduce方法的回调函数内部逻辑是根据当前项的done属性判断是否增加计数,而filter方法则是筛选出已完成的任务并返回其长度。
摘要由CSDN通过智能技术生成

reduce的介绍:

  1. reduce和迭代方法(map、fliter、forEach)一样,会遍历过滤数组;reduce()方法会遍历数组中的每一个元素,每遍历一次就会执行一次回调函数。当遍历完之后会将最后的结果返回出去。
  2. reduce( )方法有两个参数,第一个参数是累加函数,第二个是函数的previousValue的初始值。

最后面那个0代表pre的起始值是0,current代表todos里面每一个元素

let y = this.todos.reduce((pre,current)=>pre+(current.done ? 1:0),0)

还可以用filter写:

this.todos.filter(todo=>todo.done == true).length()

这里是简写:

(pre,current)=>pre+(current.done ? 1:0)

其实等同于:

function(pre,current){
 return pre+(current.done ? 1:0);
}
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值