数组的高阶方法

      //every: 每个
      // 数组.every(函数)
      // 用途: 数组的每一项, 用参数函数处理, 如果都返回true, 则最终结果为true: 代表每一个都满足条件
      let arr = [1, 3, 7, 11, 5, 7, 5]
      // 判断数组数据是否都是 奇数
      var res = arr.every(function (value, index, array) {
        // 固定3个参数
        console.log('值value:', value)
        console.log('序号index:', index)
        console.log('当前数组array:', array)
        console.log('-------------------------')
        return value % 2 == 1 //true 代表奇数
      })
      console.log(res ? '都是奇数' : '非都是奇数')

      // some: 至少有一个
      let nums = [12, 13, 14, 4, 6]
      // 是否有奇数
      var res = nums.some(function (value, index, array) {
        //3参同 every  一模一样
        console.log('value:', value)
        return value % 2 == 1 //true 代表奇数
      })
      console.log(res ? '有奇数' : '没有奇数')

      // filter: 过滤
      // 把满足条件的元素 组成新的数组
      let nums = [12, 33, 445, 11, 32, 43, 18]
      // 把 奇数 筛选出来, 形成新的数组
      let nums_odd = nums.filter(function (value, index, array) {
        return value % 2 == 1 //true代表奇数
      })
      console.log(nums_odd)

      // map: 映射
      // let一旦重名变量, 会报错
      // var 重名变量覆盖,不会报错
      var nums = [11, 22, 33, 44, 55]
      // x2
      var nums_db = nums.map(function (value, index, array) {
        // 返回处理后的值, 他们形成新的数组
        return value * 2
      })
      console.log(nums_db)

      // forEach: 代替for循环遍历数组
      let nums = [11, 22, 33, 44]
      // 没有返回值, 仅仅是遍历数组
      nums.forEach(function (value, index, array) {
        console.log('index:', index)
        console.log('value:', value)
      })

      // reduce: 归纳
      var nums = [11, 22, 33, 44]
      // reduce(回调函数, 初始值)
      // 初始值不写: 默认为 数组的序号0的值
      var res = nums.reduce(function (sum, value) {
        // 返回值就是 sum 参数的新值: sum=返回值
        return sum + value
      }, 0)
      console.log(res)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值