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 },初始值)

reduce更多使用: https://blog.csdn.net/ljcc122/article/details/102467468?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.control&spm=1001.2101.3001.4242

posted @ 2021-08-15 10:38  冰镇汽水  阅读(329)  评论(0)    收藏  举报