for in 和 for of的区别

简介: for in 和 for of的区别

区别一:for in 和 for of 都可以循环数组,for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。


const arr = [1,2,3,4,5]
 
// for ... in
for (const key in arr){
    console.log(key) // 输出 0,1,2,3,4
    }
 
// for ... of
for (const key of arr){
    console.log(key) // 输出 1,2,3,4,5
    }


区别二:for in 可以遍历对象,for of 不能遍历对象,只能遍历带有iterator接口的,例如Set,Map,String,Array

 

const object = { name: 'lx', age: 23 }
    // for ... in
    for (const key in object) {
      console.log(key) // 输出 name,age
      console.log(object[key]) // 输出 lx,23
    }
 
    // for ... of
    for (const key of object) {
      console.log(key) // 报错 Uncaught TypeError: object is not iterable
    }


总结:for in适合遍历对象,for of适合遍历数组。for in遍历的是数组的索引,对象的属性,以及原型链上的属性。

相关文章
|
6天前
|
小程序
bindtap和catchtap的区别?
bindtap和catchtap的区别?
14 0
|
6天前
|
索引
for each和for of的区别
for each和for of的区别
|
6天前
|
数据可视化 数据挖掘
jupternotebook和jupterLab有什么区别?
jupternotebook和jupterLab有什么区别?
99 0
|
9月前
for in 和 for of的区别
for in 和 for of的区别
85 1
|
9月前
vmin 和 vmax的区别
vmin是当前 vw 和 vh 中较小的一个值,vmax是当前 vw 和 vh 中较大的一个值。
140 0
|
10月前
#{} 和 ${} 的区别是什么?
#{} 和 ${} 的区别是什么?
37 0
|
算法 IDE Unix
C和C++的区别
C和C++的区别
159 0
|
新零售 网络协议 网络安全
常用的高防有哪几类?主要的区别是什么?
有一些用户受到DDOS攻击的时候,不知道自己该选择什么样的高防来防御攻击,墨者安全今天主要讲下常用的高防有哪几类?以及主要的区别?高防主要分为HTTPS高防、TCP高防、CDN高防、香港高防、海外高防。