JavaScript 遍历方法总结 forEach some every filter map includes

 1、forEach

 返回值 1 数组的信息 2 数组的下标索引 没有办法终止循环 但是可以根据情况抛出一个错误 具体方法如下:

var arr = ['abc', 'bcd', 'cde']

    arr.forEach(function(element, index) {
        console.log(element);
        console.log(index);
    });
实现原理

Array.prototype.myforEach = function(fn) {
        for (var i = 0; i < this.length; i++) {
            fn(this[i], i)
        };
    }
    arr.myforEach(function(element, index) {
        console.log(element);
        console.log(index);
    });
2、some

根据一个条件验证数组中是佛有该元素 true false 如果函数的返回值为true那么停止遍历 some的返回值为true 如果知道遍历结果结束都没有条件为true那么返回false

    
var arr = ['abc', 'bcd', 'cde']
var bool = arr.some(function(element,index) {
        console.log(index);
        return element === 'abc'
    })
    console.log(bool)

3、every

验证数组的所有是否满足一个条件 返回的值也是true和false

var arr = ['abc', 'bcd', 'cde']
     var rets = arr.every(function (element,index) {
        return element.length === 3
     })
     console.log(rets);
4、find

找到数组中符合条件的第一个元素 和find方法一样

     var user = [
        {name:'张三',age:15},
        {name:'张三',age:16},
        {name:'张三',age:12},
        {name:'张三',age:12},
        {name:'张三',age:11},
        {name:'张三',age:19}
     ]
     var result = user.find(function (element,index) {
        return element.age >= 15
     })
     console.log(result);
5、findIndex

找到数组中符合条件的第一个元素的下标

     var user = [
        {name:'张三',age:15},
        {name:'张三',age:16},
        {name:'张三',age:12},
        {name:'张三',age:12},
        {name:'张三',age:11},
        {name:'张三',age:19}
     ]
     var results = user.findIndex(function (element,index) {
        return element.age >= 15
     })
     console.log(results);


6、filter

找到所有符合条件的元素然后放到一个数组中 如果没有符合条件的那么返回空数组

       var user = [
          {name:'张三',age:15},
          {name:'张三',age:16},
          {name:'张三',age:12},
          {name:'张三',age:12},
          {name:'张三',age:11},
          {name:'张三',age:19}
       ]
      var sameAge = user.filter(function(element,index) {
          return element.age >= 15
      });

      console.log(sameAge);
7、map

对所有的元素进行操作 

      //值类型
      var arr2 = [1,2,3,4]
      var After = arr2.map(function (element,index) {
        return ++element
      })
      console.log(After)


      // 复杂数据类型
      var user = [
          {name:'张三',age:15},
          {name:'张三',age:16},
          {name:'张三',age:12},
          {name:'张三',age:12},
          {name:'张三',age:11},
          {name:'张三',age:19}
       ]
      var age = user.map(function (element,index) {
       element.age++
       return element
      })
      console.log(age);
      console.log(user);
    // 这时候原来的user和现在的user是一样的 如果想要不影响原来的user那么就需要
    // 进行深拷贝  extend方法

8、includes

      var  arr3 = [1,3,4,1,5]
      var has = arr3.includes(3)
      console.log(has)

      // user.includes({name:'张三',age:11})  这样是不可以的
      // 比较的是引用而不是具体的值
      var zs = user[2]
      var have = user.includes(zs)
      console.log(have);

以上就是JavaScript中遍历的方法,还有一个reduce 我微博里也谈到了 如果有什么异议的地方 请多批评指教 






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中有多种方法可以遍历数组,其中常用的有mapforEachfilter。 1. map方法map方法会对数组中的每个元素调用一个回调函数,并返回一个新的数组,新数组的元素是原始数组中每个元素经过回调函数处理后的结果。例如,我们有一个数组[1, 2, 3],我们可以使用map方法将每个元素乘以2并返回一个新的数组[2, 4, 6]。map方法不会改变原始数组。 2. forEach方法forEach方法会对数组中的每个元素调用一个回调函数,但它不会返回任何内容。通常,forEach方法用于执行一些操作而不需要返回结果,例如打印数组中的每个元素。与map方法不同,forEach方法无法返回修改后的数组。 3. filter方法filter方法会对数组中的每个元素调用一个回调函数,并返回一个新的数组,新数组的元素是回调函数返回值为true的元素。例如,我们有一个数组[1, 2, 3, 4, 5],我们可以使用filter方法筛选出所有大于2的元素并返回一个新的数组[3, 4, 5]。与map方法类似,filter方法也不会改变原始数组。 这三种方法遍历数组时具有不同的用途。map方法可以用于对数组中的每个元素进行转换或操作,并返回一个新的数组forEach方法用于执行一些操作而不关心返回值。filter方法用于根据指定的条件筛选出符合条件的元素,并返回一个新的数组。根据具体情况,我们可以选择合适的方法遍历数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值