关于for...in和for...of理解和使用

因为之前老是遇到这两个都忘记怎么使用,今天就把他们都写下来,给自己留个笔记,也希望能够帮到有需要的朋友。

**

for…in

var arr1 = ["zou", "liu", "chen", "yang", "li", "wu"];
    var arr2 = {
      "name": "益达",
      "age": 24,
      "sex": "男",
      "birth": "1996-03-06"
    };
    for (let i in arr2) {
      console.log(i);
    }
    for (let j in arr1) {
      console.log(j);
    }

结果如下:
在这里插入图片描述
由此可以看出,for…in是遍历数组或者对象的下标值,也就是所谓的key值,
倘如你要使用for…in来遍历值(value)的话就要这样:

var arr1 = ["zou", "liu", "chen", "yang", "li", "wu"];
    var arr2 = {
      "name": "益达",
      "age": 24,
      "sex": "男",
      "birth": "1996-03-06"
    };
    for (let i in arr2) {
      console.log(arr2[i]);
    }
    for (let j in arr1) {
      console.log(arr1[j]);
    }

输出:
在这里插入图片描述
这里要说下的是一般访问对象的话会用arr2.name这种方式来访问value值,但是在for…in循环里不能用这种方式来访问获取到对应的value值,上图:

var arr2 = {
      "name": "益达",
      "age": 24,
      "sex": "男",
      "birth": "1996-03-06"
    };
    for (let i in arr2) {
      console.log(arr2.i);
    }

在这里插入图片描述
结果是四个undefined,具体原因也不是很清楚,欢迎有知道的朋友下方评论区评论。
总结:如果仅仅只是为了获取key值,那么for…in还是可以使用的

for…of

var arr1 = ["zou", "liu", "chen", "yang", "li", "wu"];
    var arr2 = {
      "name": "益达",
      "age": 24,
      "sex": "男",
      "birth": "1996-03-06"
    };
    for (let k of arr1) {
      console.log(k);
    }
    for (let l in arr1) {
      console.log(l);
    }

结果:
在这里插入图片描述
可以看到for…of是可以用来遍历对象或者数组的value值的。
另外这里顺带提一下forEach()这个 方法对数组是每个元素执行一次提供的函数,公因式:数组.forEach(function(数组的value,数组的key,数组本身){…})
forEach按照需要场景使用,这里只是提一下

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值