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 我微博里也谈到了 如果有什么异议的地方 请多批评指教 






你可能感兴趣的:(JavaScript函数,数组循环遍历方法,forEach,some,every,filter,map,includes,JavaScript函数,数组循环遍历方法,forEach,some,every,f)