for..…of和for..…in的区别

for…of和for…in的区别

    // for...of
    for (const iterator of object) {
      
    }
    // for...in
    for (const key in object) {
      if (Object.hasOwnProperty.call(object, key)) {
        const element = object[key];
        
      }
    }

for…in适合遍历对象(因为能够直接输出对象的值),并且for…in遍历数组输出的是数组的索引,对象的属性,以及原型链上的属性,for…of适合遍历数组(因为能够直接输出数组的值)。

1、循环数组

for…of和for…in都可以用来遍历数组,但是for…of输出的是数组的下标index, for…in输出的是数组的值

    let fruits = ['apple', 'banana', 'orange'];
    // for...of
    for (const item of fruits) {
      console.log(item);
    }
    // for...in
    for (const item in fruits) {
      console.log(item);
    }

截屏2023-09-20 16.50.12

2、循环对象

for…in可以用来遍历对象的,但是如果用for…of来遍历对象的话,就会报错。

截屏2023-09-20 16.53.26

    let user = {
      name: 'xiaoming',
      age: '18',
      sex: 'male'
    }
    // for...of
    // for (const code of user) {
    //   console.log(code);
    // }
    // for...in
    for (const code in user) {
      // console.log(key);
      console.log(user[code]);
    }

3、遍历数组对象

在面对遍历数组对象的时候可以用for…of先遍历外面数组,for…in遍历数组里面的对象

    const objArr = [{name:'xiaohong'},{age:18},{sex:'female'}];
    for (const item of objArr) {
      console.log(item);
      for (const key in item) {
        console.log(key);
        console.log(item[key]);
      }
    }
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值