for...in,for...of,forEach

参考:
https://blog.csdn.net/Seven521m/article/details/83827844

遍历对象的方法:
for...inObject.keys(obj)Object.getOwnPropertyNames(obj)Reflect.ownKeys(obj)
参考:https://blog.csdn.net/weixin_38788947/article/details/81840087

for…in,for…of,forEach的区别:

1.遍历对象
for...in:输出索引
let obj = {
    a: 1,
    b: 2,
    c: 3
};

for (let key in obj) {
    console.log(key, obj, obj.key, obj[key]);
}

// a {a: 1, b: 2, c: 3} undefined 1
// b {a: 1, b: 2, c: 3} undefined 2
// c {a: 1, b: 2, c: 3} undefined 3

for..of && forEach:不支持。

2.遍历数组
let arr = [1,'参数2',3]
for..in:输出 索引
let arr = [1,'参数2',3];

for(let i in arr){
    console.log(i,arr[i],arr.i)
}

// 0 1 undefined
// 1 参数2 undefined
// 2 3 undefined
for..of:输出
let arr = [1,'参数2',3];
for(let i of arr){
    console.log(i)
}

// 1
// 参数2
// 3
forEach:输出 值&索引
let arr = [1,'参数2',3];

arr.forEach((item,index)=>{
    console.log(item,index)
})

// 1 0
// 参数2 1
// 3 2
3、遍历的数组或对象包含原型属性或者自定义属性时
遍历时能否中断循环

for..in:无法中断
for..of:可以使用break中断
forEach:无法中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值