for...in、for...of和其他循环的区别

for…in

枚举对象的属性,也可以枚举从原型继承的属性

let _obj={name:'xiaoming',age:10}
for(let key in _0bj){
	console.log("key",key) //name,age
}
let _arr=[1,2,3,4,5,6]
for(let key in _arr){
	console.log("key",key) //0,1,2,3,4,5
}

注:for…in用于遍历数组时,可以将数组看作对象,数组下标看作属性名。但用for…in遍历数组时不一定会按照数组的索引顺序。

for of

使用for…of循环时,获得的是数组的元素值。for…of遍历Map时,可以获得整个键值对对象。

let arr=[1,2,3,4,5,6]
for(let key of arr){
	console.log("key",key) //1,2,3,4,5,6,
}
OR
let arr=[{name:'xiaohong',age:11}]
for(let key of arr){
	console.log("key",key) //{name:'xiaohong',age:11}
}
OR
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);
for (let entry of iterable) {
  console.log(entry); //["a", 1] ["b", 2] ["c", 3]
}

forEach遍历数组,但不能使用break、continue和return语句

let arr=[1,2,3,4,5,6]
arr.forEach((v,index)=>{
	//v---1,2,3,4,5,6
	//index--0,1,2,3,4,5
})

Map 遍历数组,得到一个处理结果的数组,不能便利对象会报错,所以map只能循环数组或者对象数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值