当前位置:网站首页>js for in循环 for of循环的区别以及用法
js for in循环 for of循环的区别以及用法
2022-06-29 07:59:00 【皇城码码子】
1.for in
用法 : 用于遍历对象,数组和字符串的的key
代码体现:
<script>
var arr = [1,2,3,4,5,6];
for(let Aarry in arr){
console.log(Aarry); //获取索引 0,1,2,3,4,5,6
console.log(arr[Aarry]); //获取索引对应值 1,2,3,4,5,6
console.log(arr+arr); // 无法参与运算 被拼接 1,2,3,4,5,61,2,3,4,5,6
}
</script>- for in 获取的下标为字符串类型,无法参与集合运算
- 遍历顺序有可能不是按照实际数组的内部顺序
- 会遍历数组的所有可枚举的属性 包括原型的方法
Array.prototype.method=function(){ console.log("hellow"); } Array.prototype.hes = "你好" var arr = [1,2,3,4,5,6]; for(let Aarry in arr){ console.log(Aarry); //获取索引和可枚举属性 0,1,2,3,4,5,6 ,methods,hes } - 通常需要配合hasOwnProperty()方法判断某个属性是否该对象的实例属性,来将原型对象从循环中剔除。
<script>
Array.prototype.method=function(){
console.log("hellow");
}
Array.prototype.hes = "你好"
var arr = [1,2,3,4,5,6];
for(let Aarry in arr){
if(arr.hasOwnProperty(Aarry)){
console.log(Aarry); //获取索引 0,1,2,3,4,5,6
}
}
</script>故一般用for in 遍历对象而不用来遍历数组
2.for of
用法 : 用于遍历数组和字符串的的值 不能遍历对象
代码体现:
<script>
var obj = {
name:"张三",
age:"15",
sex:"男"
}
for(let self of obj){
console.log(self);//报错 因为对象不具备可遍历接口
}
</script>- 如果硬要遍历普通属性 可以用for in循环 或者内建的Object.keys()方法
- Object.keys()获取对象实例属性组成的数组,不包括原型方法和属性
var obj = {
name:"张三",
age:"15",
sex:"男"
}
for(let self of Object.keys(obj)){
console.log(self+":"+obj[self]); //
}
</script>但是,我感觉是多次一举
- 遍历数组
<script>
var a = [1,2,3,4,5,6,7]
for(let arr of a){
console.log(arr); //获取的是数组值 不是下标
}
</script>foreach函数也可以做到 但是函数中无法出现 return countine break语句 但是for of可以
for in 遍历对象
for of 遍历数组
边栏推荐
- Introduction to taro
- 启牛学堂让开的证券账户是真的安全靠谱吗?
- [hcie TAC] question 5-2
- Dialogue | prospects and challenges of privacy computing in the digital age
- 练习-选择排序
- P6772 [noi2020] gourmet (matrix fast power)
- 语音合成:概述【不等长序列关系建模的生成任务】
- Flutter shared_preferences使用
- MySQL system keyword summary (official website)
- 变形金刚Transformer详解
猜你喜欢

语音合成:概述【不等长序列关系建模的生成任务】
![[quantitative investment system] factor processing and installation Talib](/img/33/1b8776a392c37f4d32d3bfbb3f9fd4.png)
[quantitative investment system] factor processing and installation Talib

互斥量互斥锁

x86和x64的区别

What are the constraints in MySQL? (instance verification)

Simple use of vlookup function in Excel -- exact matching or approximate matching data

华为设备配置小型网络WLAN基本业务

Wallpaper applet source code double ended wechat Tiktok applet

华为设备配置中型网络WLAN基本业务

ThreadLocal线程变量
随机推荐
标准|中国支付清算协会发布首个隐私计算金融规范
华为设备配置中型网络WLAN基本业务
324. 摆动排序 II / 剑指 Offer II 102. 加减的目标值
图文详解JVM中的垃圾回收机制(GC)
关于父母离婚后子女姓名变更有关问题的批复
U盘内存卡数据丢失怎么恢复,这样操作也可以
Blueprint basis
hugetlbfs的写时复制
In PHP version 7.1.13, it is found that floating-point data passes through JSON during use_ There will be precision problems after encode
想炒股开户,在网上进行股票开户安全吗?-
Verilog first experience
Summary of various series (harmonic, geometric)
Simple use of vlookup function in Excel -- exact matching or approximate matching data
Sed replace value with variable
NLP标注工具:Label Studio实现多用户协作打标
Debugging nocturnal simulator with ADB command
Is it really safe to open a stock account online? Find the answer
关于SQL语句的大小写
关于#sql#的问题:创建一个名为View_XB视图,功能是①如果有重名的视图先删除后创建②显示XSB表中本班级的男女生各有多少人,并添加检查约束
语音标注自动音段对齐工具SPPAS使用笔记