美文网首页
JS数组的几种迭代方法和归并方法

JS数组的几种迭代方法和归并方法

作者: 再见地平线_e930 | 来源:发表于2020-04-18 22:50 被阅读0次

    一、数组的迭代方法,

    每一个迭代方法的参数都是一个函数,该函数有三个参数:数组项的值,该项在数组中的位置,数组对象本身,其中后两个参数可以省略

    给定一个数组 nums[1,2,3,4,5,4,3,2,1]

    1.every(): 参数为一个函数,对数组的每一项都运行给定函数,如果该函数对每一项都返回 true,则 every() 函数返回 true

    示例一、

    这里age大于2

    结果:


    示例二、

    这里把age改为大于0

    结果:

    2.some() 方法,参数为一个函数,对数组的每一项都运行给定函数,如果其中有一项满足参数函数返回 true,则some()方法总体返回 true (只要有一项满足参数函数要求即可)

    示例:

    结果:

    3.forEach(), 参数为一个函数,对数组的每一项都运行给定函数,这个方法没有返回值;本质上类似于用 for 循环遍历数组,然后执行想要的操作


    4.map(),参数为一个函数,对数组的每一项都运行给定函数,返回每次函数调用的结果组成的数组

    示例:

    结果:

    注意:map()方法和 forEach()方法都是对数组的每一项执行想要的操作,但是 forEach() 方法没有返回值,map() 方法会返回每次函数调用的结果组成的数组

    5.filter(), 参数为一个函数,对数组每一个元素运行该函数;返回该函数返回为 ture 的元素组成的新数组;因此这个方法类似于一个过滤器,最后得到过滤后的数组

    示例

    结果:

    二、数组的归并方法 reduce() 和 reduceRight()

    这两个方法都会迭代数组所有项,然后构建一个最终返回的值,,他们的参数都是一个 函数 和 作为归并基础的初始值(可选);其中函数又有四个参数:前一个值,当前值,项的索引,数组对象;这个函数返回的任何值都会作为第一个参数传递给下一项


    1.reduce(),从数组第一项开始,逐个往后遍历;第一次迭代发生在数组的第二项上

    示例:求出数组所有项之和

    第一次执行函数时 prev是1,cur是2;第二次执行时 prev是3(第一次的结果),cur是3(数组第三项)

    结果:

    2.reduceRight(), 与reduce()类似,不过方向相反

    结果:

    第一次prev是5,cur是4;第二次prev是9,cur是3

    相关文章

      网友评论

          本文标题:JS数组的几种迭代方法和归并方法

          本文链接:https://www.haomeiwen.com/subject/vzszvhtx.html