(js)for of 和 for in 的区别

这篇具有很好参考价值的文章主要介绍了(js)for of 和 for in 的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(js)for of 和 for in 的区别

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


1.循环数组

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

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

2.循环对象

区别二: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
    }

3.数组对象

const list = [{ name: 'lx' }, { age: 23 }]
  for (const val of list) {
    console.log(val) // 输出{ name: 'lx' }, { age: 23 }
    for (const key in val) {
      console.log(val[key]) // 输出 lx,23
    }
  }

解决参考:https://blog.csdn.net/qq_43796489/article/details/119566594文章来源地址https://www.toymoban.com/news/detail-635891.html

到了这里,关于(js)for of 和 for in 的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • for in和for of的区别

    for in 使用于可枚举的数据 如 对象 数组 字符串 什么是可枚举的:属性的enumerable值为true,表示可枚举 可以通过es7新增的属性 Object.getOwnPropertyDescriptors()验证 查看 Object.getOwnPropertyDescriptor() 方法用于 返回 指定 对象 上一个自有 属性 对应的属性描述符 看下图打印的信息,enu

    2024年02月07日
    浏览(27)
  • vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in nextTick: “TypeError: Cannot read properties of und

    vue使用vue-element-admin报错: 原因是: 其中 ayout=\\\"prev, pager, next\\\" 的pager拼写错了

    2024年02月16日
    浏览(53)
  • 你理解了for-in 和 for-of 吗?他们有什么区别?

    【前言】 在 JavaScript 中,for 循环语句是编写复杂程序时经常使用的一种工具。其中,for-in 和 for-of 是两个最常用的变体。尽管这两者非常相似,但它们在迭代对象方面有所不同。在本文中,我们将探讨 for-in 和 for-of 的不同之处,以及如何正确使用它们。 【正文】 一、for-

    2024年02月09日
    浏览(27)
  • JS中for---in的用法

    for in 循环是一种特殊类型的循环,也是普通 for 循环的变体,主要用来遍历对象,也可以遍历数组(但是不推荐),使用它可以将对象中的属性依次循环出来,其语法格式如下: 控制台输出如下: 可以发现此时每次打印的key就是obj中的属性名,obj表示打印obj这个对象 可能

    2024年02月12日
    浏览(25)
  • 【node.js】关于node.js,如何解决npm should be run outside of the Node.js REPL, in your normal shell报错?

    前言,安装node方式采用的是安装包解压的 报如下错误: npm should be run outside of the Node.js REPL, in your normal shell 在windows环境下安装完node,其目录结构下会有一个node.exe文件,运行该工具就相当于在cmd中执行node命令,即进入node开发模式。 产生这个错误的原因是你将npm命令运行在

    2024年02月03日
    浏览(39)
  • jQuery.js - 前端必备的Javascript库

    作者: WangMin 格言: 努力做好自己喜欢的每一件事 jQuery.js 是什么? jQuery是一个快速简洁、免费开源易用的JavaScript框架, 倡导写更少的代码,做更多的事情 。它封装JavaScript常用的功能代码,提供了一种简便的JavaScript设计模式,以及我们开发中常用到的操作DOM的API,优化HTML文

    2024年02月05日
    浏览(50)
  • 关于js中for...in循环对象时,输出key值顺序混乱问题

    当循环纯数字索引对象时,循环key值是正确的 当对象变为复杂对象时,输出的key就变得复杂 ES6之前,循环对象常见做法是使用:for…in。但是for…in循环的问题在于它会遍历原型链中的属性,所以需要使用hasOwnProperty执行检查属性是否属于该对象。 ES6之后,我们对于对象的循

    2024年02月14日
    浏览(28)
  • web前端框架JS学习之JavaScript类型转换

    vascript有多种数据类型,如字符串、数字、布尔等,可以通过typeof语句来查看变量的数据类型。数据类型转换就是数据类型之间相互转换,比如把数字转成字符串、把布尔值转成字符串、把字符串转成数字等,这在工作也是经常碰到的。 本期我们就给大家说说web前端框架JS学

    2024年02月10日
    浏览(42)
  • 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用

    🐚 作者: 阿伟 💂 个人主页: Flyme awei 🐋 希望大家多多支持😘一起进步呀! 💬 文章对你有帮助👉关注✨点赞👍收藏📂 第一种: var 数组名 = new Array(); 创建一个空数组 第二种: var arr2 = new Array(10); 创建一个定长为10的数组 第三种 var arr3 = new Array(a,b,c); 创建时直接指定元素值

    2023年04月08日
    浏览(42)
  • JavaScript - 判断当前时间是否在指定区间内,例如:9:00~12:00(检查当前时间是否处于规定的两个时间段范围内),适用于 vue.js / uniapp / 微信小程序等前端项目

    例如,您想知道当前时间是否处于 9:00 ~ 12:00 时间区间内,然后根据这个判断进而实现业务逻辑。 如下示例所示, 本文提供一个函数,您只需要传入 2 个时间区间,便可得出当前时间是否在该时间区间范围内: 您可以一键复制,直接粘贴到您的项目中。 您只需要传入开始时

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包