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

来源:互联网 发布:软件汉化 编辑:程序博客网 时间:2024/05/22 18:14

 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 0