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遍历的是数组的索引,对象的属性,以及原型链上的属性。

相关文章
|
消息中间件 Java API
面试官:如何实现链式调用?
面试官:如何实现链式调用?
585 0
|
11月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
753 2
|
缓存 JavaScript 前端开发
【Vue面试题七】、SPA (单页面) 首屏加载速度慢怎么解决?
这篇文章探讨了单页面应用(SPA)首屏加载速度慢的问题,并提供了多种解决方案,包括减小入口文件体积、静态资源本地缓存、UI框架按需加载、图片资源压缩、组件重复打包、开启GZip压缩和使用服务端渲染(SSR),以优化资源加载和页面渲染,改善用户体验。
【Vue面试题七】、SPA (单页面) 首屏加载速度慢怎么解决?
|
11月前
|
JavaScript API
Echarts中单独为每个legend图例设置样式-根据数据正负显示不同样式
通过上述方法,我们便能够在ECharts中根据数据的正负为每个图例项设置不同的样式,增强了图表的可读性和表现力。这种方法虽然略显间接,但不失为一种灵活的解决方案。
1644 2
|
前端开发 开发者
CSS必学:元素之间的空白与行内块的幽灵空白问题
CSS空白现象就是非常常见的问题之一。虽然它已经被发现很久,但仍然有许多新手和经验丰富的开发者们忽略了它对页面布局的影响。我们一起来看看吧!
380 4
CSS必学:元素之间的空白与行内块的幽灵空白问题
|
前端开发 UED 开发者
Flutter笔记:Widgets Easier组件库(1)使用各式边框
Flutter笔记:Widgets Easier组件库(1)使用各式边框
385 0
|
JavaScript 前端开发
什么是模板字符串?
什么是模板字符串?
287 0
|
Go 数据安全/隐私保护
Mutex正常模式与饥饿模式
在Go中,sync包提供了一种称为Mutex(互斥锁)的机制来实现对共享资源的并发访问控制。Mutex有两种模式:正常模式和饥饿模式。
398 0
|
索引
foreach、for in和for of之间区别?
foreach、for in和for of之间区别?
565 0