首页 > 编程语言 > 详细

数组的五中遍历方式(forEach,filter,map,some,every)

时间:2019-11-05 11:11:35      阅读:65      评论:0      收藏:0      [点我收藏+]
  • forEach 遍历所有的元素,没有返回值, return 不会终止循环,只会结束本次循环,进行下一轮。

    let ary = [
      { name: ‘aa‘, age: 10 },
      { name: ‘bb‘, age: 11 },
      { name: ‘cc‘, age: 12 },
      { name: ‘dd‘, age: 13 },
      { name: ‘ee‘, age: 14 },
    ]
    
    let ary1 = []
    let re = ary.forEach((item, index, list) => {
      if (item.name === ‘aa‘) {
        return
      }
      ary1.push(item.name)
    })
    console.log(ary1)  // ["bb", "cc", "dd", "ee"]
    console.log(re)  // undefined
    console.log(ary) // (5)?[{…}, {…}, {…}, {…}, {…}]
  • filter 过滤 返回符合添加的一个新的数据,不会改变原数组
    let ary2 = ary.filter((item, index, list) => {
      return item.age > 12
    })
    console.log(ary2) // (2)?[{…}, {…}]
    console.log(ary) // (5)?[{…}, {…}, {…}, {…}, {…}]
  • every 判断是否每一个元素都符合条件 返回一个布尔值,遇到不满足条件的元素之后结束循环
    let isAge = ary.every((item, index, list) => {
      console.log(index)  // 0
      return item.age > 11
    })
    console.log(isAge)  // false
  • some 判断是否存在一个元素符合条件,遇到满足条件的元素之后结束循环
    let existAge = ary.some((item, index, list) => {
      console.log(index) // 0 1 2
      return item.age > 11
    })
    console.log(existAge)  // true
  • map 返回一个新的数组 不会改变原来的数组,将一个值从一种形式映射到另一种形式,每一次遍历都会有一个返回值,这些返回值组合成新数组。
    let ary3 = ary.map((item, index, list) => {
      return item.age + 10
    })
    console.log(ary3) // [20, 21, 22, 23, 24]
    console.log(ary)  // (5)?[{…}, {…}, {…}, {…}, {…}]
  • 数组的五中遍历方式(forEach,filter,map,some,every)

    原文:https://blog.51cto.com/13701875/2447512

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
    © 2014 bubuko.com 版权所有
    打开技术之扣,分享程序人生!