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]
  },

 

posted @ 2021-05-11 09:35  yw3692582  阅读(140)  评论(0编辑  收藏  举报