zoukankan      html  css  js  c++  java
  • JS迭代器

      // 迭代器
      Iteration() {
        /**
         * 适用场景:
         *  1、forEach: 适用用对数组进行操作,参考for循环
         *  2、every:适用于对数组所有元素进行同一个判断,返回布尔值
         *  3、some:适用于判断某个元素是否符合函数,返回布尔值
         *  4、reduce:适用于对数组元素进行累加求值
         *  5、map:适用于在原有数组的基础上进行一个函数操作,返回一个新数组
         *  6、filter:适用于查找数组中符合函数的所有元素,并将其做为一个新数组返回
        */
       let arrs = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
       //  1、forEach: 无返回值,不会改变原有的数组
       arrs.forEach(Data => {
        return console.log(Data + 1)
       })
       //  2、every: 返回值为布尔值,如果所有元素都符合函数,则返回true,否则返回false
       let every = arrs.every(Data => {
        return Data < 10
       })
       console.log(every) // true
       //  3、some: 返回值为布尔值,只要有一个元素使得该函数返回true,则返回true, 否则返回false
       let some = arrs.some(Data => {
        return Data == 1
       })
       console.log(some) // true
       //  4、reduce: 返回一个累加值,对一个数组中的值从头开始进行累加(reduceRight:是从右到左)
       let reduceAdd = arrs.reduce((val1, val2) => {
        return val1 + val2
       })
       console.log(reduceAdd) // 45
       // 5、map:返回值为一个新的数组(原有数组不变)
       let newMap = arrs.map(Data => {
        return Data + 2
       })
       console.log(newMap) // [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
       //  6、filter:返回一个符合函数的新数组(原有数组不变)
       let newFilter = arrs.filter(Data => {
        return Data % 2 == 0
       })
       console.log(newFilter) // [0, 2, 4, 6, 8]
      },
  • 相关阅读:
    BZOJ 2299 向量
    BZOJ 1237 配对
    BZOJ 2226 LCMSum
    BZOJ 1876 SuperGCD
    查漏补缺:C++STL简述(容器部分)
    查漏补缺:Linux进程与线程的区别
    码海拾遗:常用的其中排序算法
    码海拾遗:简述C++(一)
    码海拾遗:简单的链表类
    码海拾遗:位运算实现加减乘除
  • 原文地址:https://www.cnblogs.com/lyt520/p/14753944.html
Copyright © 2011-2022 走看看