JS ES6数组操作大全【forEach、map、filter、some、every、reduce、findIndex、find、slice、splice、push、unshift】

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);
}
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐