ES6 for in与for of 的使用方法及其区别

   // for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。

 let arr = [1,2,3,4,5,6,7]

    for(let index of arr){

     //   console.log(index)//1 2 3 4 5 6 7

    }

    for(let index in arr){

       // console.log(index)//0 1 2 3 4 5 6

        //console.log(arr)//1 2 3 4 5 6 7

        //console.log(arr[index])

    }

//遍历对象 通常用for in来遍历对象的键名

    let obj = {

        a:1,

        b:2,

        c:3

    }

    for(let key in obj){

        console.log(key)//a b c 

        //console.log(obj[key])//1 2 3

    }

forEach

  1. 三个参数,第一个value, 第二个 index, 第三个数组体。
  2. 适用于 数组,set,map,不适应于 字符串,Object。
  3. 无法修改和删除集合数据,效率和for循环相同,不用关心集合下标的返回。
  4. 不能终止循环,break,continue不能使用。
    栗子:

    let arr = [1, "ding", null, 5, true, undefined];

    arr.forEach(function (value, index, a) {

        console.log("value:", value, "index:", index, "a:", a);

    })

for in

  1. 索引为字符串
  2. 多用于遍历对象,json,数组,无顺序,增加了转换过程所以开销比较大
  3. 可扩展属性也会遍历
  4. 支持break, continue
    栗子:

 for (let item in obj) {

        console.log(item, ":", obj[item]);

        if (item == "age") delete obj[item]; //删除属性成功

    }

    console.log("obj:", obj);

  1. 是目前遍历数组最好的方法,可以用在set,map,类数组,字符串上,但是不支持原生的Object遍历。
  2. 支持break, continue
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

js数组的遍历

js中数组的遍历1\.Map()方法Map映射的意思,可以看做是一个映射函数,所谓的映射。一个萝卜一个坑,一一对应的关系;语法:constarrArray();arr.map((item,index,arr)//函数体return;);//参数1:数组中的每一项(必选)//参数2:索引(可选)//参数3:当前遍历的数组本身(可选)//注

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )