当前位置:网站首页>关于 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不可直接用于对象的遍历!
三:结束语
感谢大家的观看,你们的点赞和收藏,是对作者最大的支持!
边栏推荐
猜你喜欢
FFmpeg源码分析:avformat_open_input
程序员也应了解的Unity粒子系统
TensorRT例程解读之语义分割demo
谷粒商城-基础篇(项目简介&项目搭建)
Do you think border-radius is just rounded corners?【Various angles】
关于C#的反射,你真的运用自如嘛?
8.03 Day34---BaseMapper查询语句用法
Cannot read properties of null (reading 'insertBefore')
MySQL数据库面试题总结(2022最新版)
Programming hodgepodge (3)
随机推荐
高性能高可靠性高扩展性分布式防火墙架构
string类简介
部署LVS-DR群集【实验】
9、动态SQL
Programming hodgepodge (4)
嵌入式系统驱动初级【3】——字符设备驱动基础中_IO模型
C语言 -- 操作符详解
在被面试官说了无数次后,终于潜下心来整理了一下JVM的类加载器
MediaCodec支持的类型
大龄程序员的心理建设
JS basics - forced type conversion (error-prone, self-use)
static在不同位置定义变量居然还有不同的含义?
Gartner 权威预测未来4年网络安全的8大发展趋势
败给“MySQL”的第60天,我重振旗鼓,四面拿下蚂蚁金服offer
注意!软件供应链安全挑战持续升级
MySQL日志篇,MySQL日志之binlog日志,binlog日志详解
lambda函数用法总结
3面头条,花7天整理了面试题和学习笔记,已正式入职半个月
Embedded system driver primary [3] - _IO model in character device driver foundation
Cannot read properties of null (reading 'insertBefore')