js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍

 js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第1张图片

首先这些方法都有一个共同点 语法的结构是一样的,callbackfn(回调函数),里面两个形参:一个value,一个index。

map方法:

      js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第2张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第3张图片 

特点:1.遍历的次数等于数组的长度。

2.本身是有返回值的:return之后会得到映射之后的新数组。

3. 如果不加return就会得到undefined。

filter 方法:

              1.  回调执行次数  ===   数组长度

               2.  本身返回值 :根据条件筛选之后,返回的新数组

               3.  回调函数内部return

                   return true : 满足筛选条件,当前元素放入新数组中

                   return false : 不满足筛选条件,当前元素不放入新数组

举例:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第4张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第5张图片 

forEach 方法:

          1. 遍历次数  ===   数组长度

          2.无返回值

          3. return 无

说白了就是遍历数组的 和for循环类似

举例:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第6张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第7张图片 

some 方法:

            1.  回调执行次数  !=   数组长度  (为什么不等于,当返回true的时候,循环就结束了)

            2 . 本身返回值

                true : 有满足条件的元素

                false: 没有满足条件的元素

             3. 回调函数内部return

                true : 循环立即结束。并且some方法本身返回true

                false : 循环继续执行。如果全部遍历结束还是false,则some方法默认返回false

 

           举例:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第8张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第9张图片 

every方法:

           1. 遍历次数  !=  数组长度

           2. 本身返回值:

                true : 全部满足条件

                false: 有元素不满足条件

            3. 回调函数内部return:和some方法刚好相反

                 true:循环继续。如果全部遍历结束还是true,则every方法默认返回就是true

                false:循环结束。并且every方法本身返回值是false

举例:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第10张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第11张图片 

 

 findindex 方法:

               1. 遍历次数  !=  数组长度

               2. 本身返回值

                   有元素: 元素下标

                   没有元素: 固定值-1

              3.  回调函数内部return

                return true: 找到了,循环立即结束。并且findIndex方法本身返回当前index

                return false: 没找到,循环继续。如果全部遍历完还是没找到,则得到默认返回值-1

举例:

 js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第12张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第13张图片 

reduce方法:

        1.数组reduce方法 : 给每一个元素执行一次回调

        2.应用场景: 数组求和、求数组最大值

        3.语法:

           let sum = arr.reduce((sum,value,index)=>{  sum+value },0)

                 sum返回值是最后一次sum的结果

        4.注意点: 一定要给初始值,否则reduce遇到空数组就会报错

 

举例:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第14张图片

打印:

js中最详细的数组迭代map,filter,forEach,some,every,findindex,reduce 方法介绍_第15张图片 

 

你可能感兴趣的:(javascript,前端,es6,visual,studio,code)