for in 和for of的区别(13)

27 篇文章 1 订阅
订阅专栏
本文详细介绍了JavaScript中for...in和for...of两种迭代方式的区别。for...in主要用于遍历对象的键,而for...of则用于遍历数组或字符串的值。在遍历对象时,若需获取值,需配合Object.keys()使用。示例代码展示了这两种迭代方式在遍历对象和数组时的不同行为。
摘要由CSDN通过智能技术生成

一.结论

for in 遍历的是数组的索引(即键名),而for of遍历的是数组元素值

for in总是得到对象的key或数组,字符串的下标

for of总是得到对象的value或数组,字符串的值

注意点:   for of遍历对象的话如果想要拿到value值, 具体需要使用Object.keys()搭配进行使用。

二.代码

(1)通过for in去遍历对象总是拿到key,通过for of遍历对象总是拿到value

    图示:

    var obj={
     name:'女神',
     age:22
    }
  // 1.通过for in遍历对象总是拿到key
  for (let key in obj) {
      console.log(key);
    }
// 2.通过for of遍历对象总是拿到value值
  for (let key of obj) {
    console.log(key);
  }

(2)通过for in遍历数组或者字符串拿到的总是索引,通过for  of遍历则是拿到值(value)

    var arr=[10,20,30,40,50]
    var str='vip1900'
    // 1.通过for in遍历数组
    for (let key in arr) {
     console.log(key);
   }
    // 2.通过for in遍历字符串
   for (let key in str) {
     console.log(key);
   }
  //  3.for of遍历数组
  for (let  key of arr) {
    console.log(key);
  }
  for (let  key of str) {
    console.log(key);
  }

通过for of 遍历数组或字符串拿到的索引 

通过 for of遍历拿到的是值

for...of..转换为key,value形式
meng2lin的博客
06-01 1139
最近在做项目,同事问我了一个问题,拿到一个对象里面的值,如下 var obj = { 化学考试: { 测试1: [ {id: 43, listId: 75, orderNum: 3, item: "1", type: 1, createTime: "2020-04-22 15:53:57",} ], 测试2: [ {id: 43, listId: 75, orderNum: 3, item: "1", type: 1, createTime: "2020-04-22 15:53:5
for...in和for...of的区别和使用场景
donggua_123的博客
12-22 1781
这还要从一道面试题说起,请问下面两种情况分别打印什么: let arr = [1,2,3,4,5] for(let i in arr) { console.log(i) // 0,1,2,3,4 } for(let i of arr) { console.log(i) // 1,2,3,4,5 } 可以看到,for in遍历的是数组索引,也是数组的键,for of遍历的...
for....in 和 for....of的区别
m0_51328823的博客
01-24 295
for in 和 for of for in和for of都是用来遍历属性的,我们先看一个例子: let arr = [1,2,3,4,5] for(let key in arr) { console.log(key); // 输出下标 } for(let value of arr) { console.log(value); // 输出每个元素 } let obj = { name:'zbt', age:18 } for(let key in obj) { c
js几种获取对象key的方法和区别
热门推荐
weixin_45709829的博客
03-27 5万+
js几种获取对象key的方法和区别 1、Object.keys() , 遍历自身可以枚举属性 let myColors = { color1: 'pink', color2: 'red' }; let yourColors = { color3: 'green', color4: 'blue' }; Object.setPrototypeOf(yourColors, myColors); //setPr
辉太郎看前端(for...in和for...of)
辉太郎的博客
11-23 241
for…in和for…of的区别: 一句话for…in循环出来的是key值,for…of循环出来的是数据的值 ①循环数组,for…in循环出来的是key值,for…of循环出来的是数据的值。 ②循环对象,for…in循环出来的是对象的key值,而for…of会直接报错。 ③在循环对象时我们配合object.keys()使用就不会报错 for(var key of Object.keys(person)){ //使用Object.keys()方法获取对象key的数组 console.log(key+": "+
用for~of 遍历对象得到键值对数组
Sakurai-cv@leader
03-03 411
主要是给对象或者原型上添加Symbol.iterator属性即Generator函数 let obj = { a:3, b:2, c:1 } function * objGenerator(){ let arr = Object.keys(this) for(let item of arr){ yield[item...
Javascript学习之路:如何理解 for of、for in 和可枚举属性、可迭代对象的关系?
Code_King006的博客
03-28 265
属性描述符的enumerable这个属性值为true示例:enumerable:false //a设置为不可枚举属性})一个可迭代对象必须实现iterator这个方法,并且还需要一个next方法,在迭代器内部会不断的调用next方法,直到返回结果是done这个属性,这个属性的值为true才会停止。
通过实例解析JavaScript for in及for of区别
11-20
对数组的遍历大家最常用的就是...那么接下来我们一起看一下for in 和for of 的区别吧。 for in 看一个简单的例子 //for in 应用于数组 Array.prototype.sayHello = function(){ console.log("Hello") } Array.prot
比较for、for...in、for...of、forEach的区别
thwr1881的博客
05-27 5507
前言 在比较之前我们先了解两个概念: 迭代(iterate),指的是按照某种顺序反复多次执行一段程序,通常会有明确的终止条件。 遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。 一、for循环语句 for循环语句在之前的博客里有较为详细的介绍,简单来说for语句是一种先测试循环语句,(即先检测退出条件,再执行循环体内的代码.) 1、语法: for(初始化变量;条件表达式;操作表达式){ 循环体语句 } (1)三个表达式都可以省略,但是表达式之间的分号不
循环结构(for/in 语句、for/of语句以及for of与for in 区别
m0_71814235的博客
08-11 1048
循环结构(for/in 语句、for/of语句以及for of与for in 区别
【ES6】for in 与 for of 的区别
祝先森的博客
10-24 1037
【ES6】for in 与 for of 的区别 一般情况下,     for in 用来遍历对象,也可以用来遍历数组,因为 对象和数组都属于 Object对象     for of 用来遍历数组,不能遍历对象 方便理解的小案例 ①、 for in 可以遍历循环对象      for of 无法循环遍历对象 let areaObj = { 0: '北京', 1: '上海', 2: '广州', 3: '
简述for in 和 for of 的区别
m0_71231013的博客
06-07 2万+
1、推荐在循环对象属性的时候使用 for...in,在遍历数组的时候的时候使用 for...of 2、for...in 循环出的是 key,for...of 循环出的是 value 3、注意,for...of 是 ES6 新引入的特性。修复了 ES5 引入的 for...in 的不足 4、for...of 不能循环普通的对象(如通过构造函数创造的),需要通过和 Object.keys()搭配使用1.index索引为字符串型数字,不能直接进行几何运算 2.遍历顺序有可能不是按照实际数组的内部顺序 3.使
(for in)遍历键名和 (for of)遍历键值,这种说法严谨吗?
weixin_33872660的博客
09-17 538
[1] const arr = [7, 8, 9]; const obj = { a: 4, b: 5, c: 6 }; [2] for (let v in arr){ console.log(v); } // 0, 1, 2 [3 ]for (let v in obj){ console.log(v); } // a, ...
for...in和for...of循环以及forEach方法
Ayiayi00的博客
08-08 6214
用Es6对象扩展运算符(…)与rest运算符说明 function test(first,...a){     for(let val=0; val         console.log(val+' '+'常用的 for循环') // 0-6 便利出下标     }     for(let val in a){         console.log(val+' '+ '
关于for......of的使用
github_39088222的博客
11-10 1257
for…of 一种用于遍历数据结构的方法。它可遍历的对象包括数组,对象,字符串,set和map结构等具有iterator 接口的数据结构。 (上面这句话如果有看不懂的地方,自动忽略即可,后续会有章节介绍。) 下面就以大家熟悉的数组为例来介绍for…of。
js中for in与for of之间的差异
u013594477的专栏
03-19 5568
先说结论: 推荐在循环对象属性的时候,使用for…in,在遍历数组的时候的时候使用for…of。 for…in循环出的是key,for…of循环出的是value 注意,for…of是ES6新引入的特性。修复了ES5引入的for…in的不足 for…of不能循环普通的对象,需要通过和Object.keys()搭配使用 假设我们要遍历一个数组的valuelet aArray = [‘a’,1...
forEach、for in 、 for of三者的区别
一个慢的博客
05-04 4万+
在开发过程中经常需要循环遍历数组或者对象,forEach、for in 、 for of这三种方法使用最多 但却一值傻傻分不清楚。。今天来一个大区分。。 for循环 其实除了这三种方法以外还有一种最原始的遍历,自Javascript诞生起就一直用的 就是for循环,它用来遍历数组 var arr = [1,2,3,4] for(var i = 0 ; i< arr.length ...
for in 和for of的区别
高先生的猫
08-14 380
1 遍历数组通常用for循环 ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map、filter、some、every、reduce、reduceRight等,只不过他们的返回结果不一样。但是使用foreach遍历数组的话,使用break不能中断循环,使用return也不能返回到外层函数。 Array.prototype.method=function(){   console.log(this.length); } var myArray=[1,2,4,5,6,7] myArray
Js中forEach,for in,for of循环的用法
林中明月间丶
01-07 9077
转自:https://www.cnblogs.com/amujoe/p/8875053.html 一般的遍历数组的方法: var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,array[i]); } 二、用for in...
for in和for of 的区别
最新发布
11-24
for...in和for...of都是用于遍历的循环语句,但它们之间有一些区别: 1. for...in循环遍历的是对象的可枚举属性,包括自身属性和继承的属性,所以在遍历数组时,除了遍历数组元素外,还会遍历数组对象的原型属性。...
写文章

热门文章

  • Router-view 55588
  • 跳出循环的三种方法 32236
  • 路由守卫的详解 23071
  • axios请求拦截和响应拦截 11917
  • uniapp适配问题 10896

分类专栏

  • 工具类 9篇
  • 插件 8篇
  • Tomact 1篇
  • 网络通信 3篇
  • Maven 3篇
  • axios 12篇
  • Nginx 1篇
  • MySql 24篇
  • 硬件 5篇
  • Vue进阶 6篇
  • java 45篇
  • javascrpit 32篇
  • vue3.0 1篇
  • 后台管理系统 38篇
  • 算法 1篇
  • 面试题 27篇
  • Ajax 7篇
  • 编程英语 6篇
  • js笔试题 9篇
  • uni-app 17篇
  • linux 1篇
  • React 3篇
  • 代码练习 10篇
  • 数据可视化 6篇
  • 低代码 1篇
  • 微信小程序 6篇
  • git 5篇
  • 项目中的问题 2篇
  • 循环 5篇
  • 造轮子 6篇
  • 封装组件 1篇
  • 数组 11篇
  • es6 12篇
  • Vue 59篇
  • webpack打包 2篇
  • css 14篇
  • nodejs模块化 10篇

最新评论

  • vue脚手架安装

    CSDN-Ada助手: Vue入门 技能树或许可以帮到你:https://edu.csdn.net/skill/vue?utm_source=AI_act_vue

  • SQL-锁

    ha_lydms: 这篇文章写的太好了,很棒的内容,加油。

  • Router-view

    XEK: thanks you

  • 包装类的应用

    普通网友: 每当我阅读你的编程博客文章时,我总能感受到你的专业水平和耐心解答的精神。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • Echart 和 Ucharts 的区别

    收藏KING: 性能很高啊,直接抢占cpu所有资源

大家在看

  • 第六章——求二维数组周边元素的累加和
  • Java基于SpringBoot的甘肃旅游特产网站+Vue[毕业设计] 780
  • java中的ArrayList和LinkedList的底层剖析 761
  • 低代码平台:数据筛选功能的全新变革
  • 深度学习:神经网络--手写数字识别 915

最新文章

  • 下载速度慢怎么办,使用taoboa镜像源
  • Tomact的基本使用
  • http协议
2024
09月 7篇
08月 6篇
07月 18篇
06月 24篇
05月 5篇
04月 10篇
02月 2篇
01月 21篇
2023年72篇
2022年183篇
2021年76篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家商场中庭美陈倒挂树供应信誉好的玻璃钢雕塑造型呼和浩特人物玻璃钢雕塑定制河北玻璃钢雕塑浮雕朔州玻璃钢仿铜雕塑定制玻璃钢花盆有什么好宜春学校玻璃钢雕塑制作安宁玻璃钢雕塑设计贵不贵句容商场美陈装饰抚州玻璃钢雕塑多少钱湖南环保玻璃钢雕塑生产厂家朝阳玻璃钢雕塑定做合肥城市玻璃钢雕塑厂家玻璃钢泡沫雕塑哪家好广汉玻璃钢景观雕塑卧龙玻璃钢雕塑厂家室外玻璃钢雕塑厂家规格尺寸玻璃钢西瓜雕塑哪家强扬州室内玻璃钢雕塑泰安玻璃钢仿真动物雕塑星座雕塑图玻璃钢商场春季美陈活动方案用石膏制作玻璃钢雕塑扬州玻璃钢人物雕塑定制价格金昌抽象人物玻璃钢雕塑订做四川玻璃钢仿铜雕塑厂家杭州玻璃钢雕塑摆件设计厂家陕西玻璃钢长颈鹿雕塑辽宁玻璃钢雕塑哪家好东莞美陈玻璃钢雕塑定制香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化