array中some()与forEach()的区别以及reduce用法
1.forEach()用来遍历数组,没有返回值。
而some()大多使用场景是找到符合条件的元素,迭代效率高,返回值是布尔。
例子:在做vue全选的时候用some()方法出现了意想不到的错误
computed: {
checkAll: {
get() {
return this.todos.every(item => item.completed)
},
set(val) {
this.todos.some(item => item.completed = val)
}
}
}
正确做法:
computed: {
checkAll: {
get() {
return this.todos.every(item => item.completed)
},
set(val) {
this.todos.forEach(item => item.completed = val)
}
}
}
2.reduce作用:reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。
格式:reduce((累加器,当前的处理的值)=>{ return },初始值)

浙公网安备 33010602011771号