js中forEach,for in,for of循环的用法

  1. forEach遍历
  2. var array = [1,2,3,4];
        array.forEach(function(v,i){
            console.log(v,i);
        })
        array.forEach((v,i)=>{
            console.log(v,i);
        })

    一般遍历

  3.  var array = [1,2,3,4,5,6,7];  
        for (var i = 0; i < array.length; i++) {  
            console.log(i,array[i]);  
        }  

    用for in的方遍历数组

  4.  for(let index in array) {  
            console.log(index,array[index]);  
        };  

    用for in不仅可以对数组,也可以对enumerable对象操作

  5. var A = {a:1,b:2,c:3,d:"hello world"};  
    for(let k in A) {  
        console.log(k,A[k]);  
    } 

    在ES6中,增加了一个for of循环,使用起来很简单

  6. for(let v of array) {  
            console.log(v);  
        };  
    
          let s = "helloabc";  
          for(let c of s) {  
          console.log(c); 
         }

      for(let [i,v] of array.entries()) {
       console.log(i,v);
      };


    keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历
    例:
    for (let index of ['a', 'b'].keys()) { console.log(index); } // 0 // 1 for (let elem of ['a', 'b'].values()) { console.log(elem); } // 'a' // 'b' for (let [index, elem] of ['a', 'b'].entries()) { console.log(index, elem); } // 0 "a" // 1 "b"
     

    总结来说:for in总是得到对像的key或数组,字符串的下标,而for of和forEach一样,是直接得到值

  7. JavaScript 提供了 foreach()  map() 两个可遍历 Array对象 的方    

        forEach和map用法类似,都可以遍历到数组的每个元素,而且参数一致; 

    Array.forEach(function(value , index , array){ //value为遍历的当前元素,index为当前索引,array为正在操作的数组
      //do something
    },thisArg)      //thisArg为执行回调时的this值

    不同点:

      forEach() 方法对数组的每个元素执行一次提供的函数。总是返回undefined;

      map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。返回值是 一个新的数组
    • 参数:value数组中的当前项, index当前项的索引, array原始数组;

      例子如下:

    var array1 = [1,2,3,4,5];
     
    var x = array1.forEach(function(value,index,array){
     
        console.log(value);   //可遍历到所有数组元素
     
        return value + 10
    });
    console.log(x);   //undefined    无论怎样,总返回undefined
     
    var y = array1.map(function(value,index,array){
     
        console.log(value);   //可遍历到所有数组元素
     
        return value + 10
    });
    console.log(y);   //[11, 12, 13, 14, 15]   返回一个新的数组
  8. 参考:https://www.cnblogs.com/amujoe/p/8875053.html

转载于:https://www.cnblogs.com/ygyy/p/10408171.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值