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

posted @   炽橙子  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示