当前位置:网站首页>关于 for in与for of 的差别以及如何使用
关于 for in与for of 的差别以及如何使用
2022-08-04 05:26:00 【strongest强】
一:for in 的使用
for in 常用遍历对象,当然,也可以遍历数组,但二者遍历的结果还是有所不同
代码区 :
一:for in 数组遍历的使用
var arr = [3, 4, 5, 6, 7, 8];
for (let i in arr) {
console.log(typeof(i), i);
console.log(arr[i]);
}在数组中,输出结果typeof[i],i,arr[i]结果为:
string 0
3
string 1
4
string 2
5
string 3
6
string 4
7
string 5
8
总结for in在数组输出结果
1.首先输出typeof[i]的类型为string
2.输出数组i的值为索引号(下标号),从0开始的字符型
3.arr[i]返回的是键值,即数组的值
二:for in对象遍历的使用
代码区:
var Obj = {
temp: 'rng',
name1: 'Xiaohu',
name2: 'Wei',
name3: 'Cryin',
name4: 'Gala',
name5: 'Ming'
}
var tempPersonName = ''
for (let i in Obj) {
console.log(i);
tempPersonName = Obj[i] != 'Ming' ? tempPersonName + Obj[i] + '和' : tempPersonName = tempPersonName + Obj[i];
}
console.log(tempPersonName);输出i结果分别为:
temp
name1
name2
name3
name4
name5
输出tempPersonName结果为:
rng和Xiaohu和Wei和Cryin和Gala和Ming
总结for in在对象输出结果
1.i返回的是键名,即对象属性
2.属性值(键值)可以以数组的形式输出,例如Obj[i]
二:for of的使用
1.for of 通常只用于数组的遍历
代码区 :
var arr = [3, 4, 5, 6, 7, 8];
for (let i of arr) {
console.log(typeof(i), i);
}在数组中,输出结果typeof[i],i结果为:
number 3
number 4
number 5
number 6
number 7
number 8
总结for of在数组输出结果
1.首先输出typeof[i]的类型为number
2.输出i的值为数组值
2.for of不可直接用于对象的遍历
代码区 :
var Obj = {
temp: 'rng',
name1: 'Xiaohu',
name2: 'Wei',
name3: 'Cryin',
name4: 'Gala',
name5: 'Ming'
}
var tempPersonName = ''
for (let i of Obj) {
tempPersonName = Obj[i] != 'Ming' ? tempPersonName + Obj[i] + '和' : tempPersonName = tempPersonName + Obj[i];
}
console.log(tempPersonName);输出结果tempPersonName为:
Uncaught TypeError: Obj is not iterable
可见结果报错
总结for of在对象输出结果
1.for of不可直接用于对象的遍历!
三:结束语
感谢大家的观看,你们的点赞和收藏,是对作者最大的支持!
边栏推荐
- warning C4251: “std::vector<_Ty>”需要有 dll 接口由 class“Test”的客户端使用错误
- OpenSSF 安全计划:SBOM 将驱动软件供应链安全
- MySQL database (basic)
- 心余力绌:企业面临的软件供应链安全困境
- MySql数据恢复方法个人总结
- 大龄程序员的心理建设
- Do you think border-radius is just rounded corners?【Various angles】
- FFmpeg源码分析:avformat_open_input
- webrtc中视频采集实现分析(一) 采集及图像处理接口封装
- 自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
猜你喜欢

(Kettle) pdi-ce-8.2 连接MySQL8.x数据库时驱动问题之终极探讨及解决方法分析

Swoole学习(一)

npm报错Beginning October 4, 2021, all connections to the npm registry - including for package installa

腾讯136道高级岗面试题:多线程+算法+Redis+JVM

webrtc中的视频编码(一) 视频编码模块轮廓

Unity表格配置编辑工具

企业需要知道的5个 IAM 最佳实践

7.13 Day20----MYSQL

Programming hodgepodge (4)

Linux环境下redis的下载、安装和启动(建议收藏)
随机推荐
Unity开发类似Profile那样的数据分析工具
bind和function
力扣:96.不同的二叉搜索树
npm报错Beginning October 4, 2021, all connections to the npm registry - including for package installa
4.2 Declarative Transaction Concept
即时通讯网 即时通讯音视频开发
OpenRefine中的正则表达式
Unity动画生成工具
动态规划总括
力扣:70. 爬楼梯
canal实现mysql数据同步
Web Basics and Exercises for C1 Certification - My Study Notes
TensorRTx-YOLOv5工程解读(二)
8、自定义映射resultMap
8. Custom mapping resultMap
OpenGLES 学习之帧缓存
利用Jenkins实现Unity自动化构建
力扣:63. 不同路径 II
CentOS7 —— yum安装mysql
8大软件供应链攻击事件概述