js 数组的循环

 

复制代码
//数组循环
    var list=[
      {
        name:"hq",
        age:"12"
      },
      {
        name:"xq",
        age:"24"
      },
      {
        name:"gq",
        age:"32"
      }
    ];
    
    //使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。
    for(var i=0;i<list.length;i++){
        console.log(list[i])
    }
    /* 遍历数组中的每一项,没有返回值,对原数组没有影响,不支持IE */
    list.forEach(function(v,k){
        console.log("27forEach",v);
        //v.age="44"//这样赋值是可以改变原来数组的
    })
    //map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);
    /*  */
    list.map(function(v,k,ar){
        console.log("38map",v,k,ar);
        //v.age=44
    })
    console.log("42",list)
    
    //forof可以正确响应break、continue和return语句
    for(let val of list){
        console.log("44",val);
        //val.age=44
    }
    
    //for - in语句用于对数组或者对象的属性进行循环操作。
    //主要用于循环对象
    let obj={'name':'programmer','age':'22','height':'180'};
    for(let i in obj){
        console.log(i,obj[i])
    }
    
    

    // while (条件)
    // {
    //     需要执行的代码
    // }
    var i=0,j=0;
    while(i<list.length){
        console.log("63",i,list[i]);
        i++
    }
    
    do{
        console.log("82",j,list[j])
        j++;
    }while(j<list.length)
    
    /* ES6为Array增加了from函数用来将其他对象转换成数组。
       也可以用于数组的循环
     */
     var objectc={name:"hh"}
     Array.from(list,function(v,k){
         console.log("79",v);
         //console.log(this);this指向objectc
         //v.age="55"
     },objectc);
     console.log(list);
Object.keys(objectc).forEach(function(v,k){
})
//every,some更多用于判断 //every()是对数组中的每一项运行给定函数,如果该函数对每一项返回true,则返回true。 var num=[10,12,13,15,16,11,13] var b=num.every(function(item,index,arr){ return item>15//所有的都为true才为true,否则false }) console.log(b); //.some()方法,同样是针对数组中的每一个元素,但是这个方法是,只要有一个元素比对结果为true,返回结果就为true,反之要所有的元素比对结果为false才为false //与every()相反 var c=num.some(function(item,index,arr){ return item>15//有其中一个为true就为true,所有false才是false }) console.log("some",c);
复制代码

 

 

参考:

https://www.cnblogs.com/woshidouzia/p/9304603.html

https://www.jb51.net/article/204620.htm

https://www.cnblogs.com/zl-light/p/11482005.html

https://blog.csdn.net/shangyanaf/article/details/80415236

https://blog.csdn.net/a806488840/article/details/89668616 -- every/some

https://www.cnblogs.com/lxz-blogs/p/12807706.html --array.from

https://www.cnblogs.com/kongxianghai/p/7417210.html

posted @   小小强学习网  阅读(920)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2016-11-05 js 将json字符串转换为json对象的方法解析
2016-11-05 $.extend()了解心得
2016-11-05 angularjs入门基础一
2016-11-05 ion-slide-box,无限循环
2016-11-05 JS对于数据常见操作
2016-11-05 Error: failed to fetch platform android
2016-11-05 ionic不同view跳转到同一个
点击右上角即可分享
微信分享提示