for…in
for…in用于循环访问对象的所有可枚举属性.
可以用于数组、字符串、对象一起使用,
Map、Set不能使用
- Array类型循环的是index下标
for(let prop in ['a','b','c']){
console.log(prop) //0、1、2
}
- string类型循环的是index下标
for(let prop in 'congjiyong'){
console.log(prop) //0、1、2、3、4、5、6、7、8、9
}
- 循环的是对象的键,访问键值时使用:对象[键]
var abc = {a:1,b:2,c:3}
for(let prop in abc){
console.log(prop); //键 a、b、c
console.log(abc[prop]); //键值 1、2、3
}
for…of
用于迭代可迭代对象,迭代其值而不是属性。
可用于数组、字符串,Map、Set可以使用
对象不能用
- Array类型循环的是value值
for(let val of ['a','b','c']){
console.log(val) //a、b、c
}
- string类型循环的是value值
for(let val of 'congjiyong'){
console.log(val) //c、o、n、g、j、i、y、o、n、g
}
- 对象类型不能用
> Uncaught TypeError: {(intermediate value)(intermediate value)(intermediate value)} is not iterable
- Set、Map可以使用
for (let val of new Set(['a', 'b', 'a', 'd'])){
console.log(val); //Set不能用重复的值,所以为 a、b、d
}
arr.forEach
forEach可以循环访问数组的值value和下标index
var arr = ['a','b','c']
arr.forEach((value,index,arr)=>{
console.log(value);
console.log(index)
})
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/4848.html