for-in和for-on的区别

for of:遍历数组

ES6 中,如果我们要遍历一个数组,可以这样做:

let arr1 = [2, 6, 8, 5];

for (let value of arr1) {
console.log(value);
}
打印结果:

2
6
8
5
for … of 的循环可以避免我们开拓内存空间,增加代码运行效率,所以建议大家在以后的工作中使用 for…of 遍历数组。

注意,上面的数组中,for … of获取的是数组里的值;如果采用for … in遍历数组,则获取的是 index 索引值。

Map 对象的遍历

for … of既可以遍历数组,也可以遍历 Map 对象。

for in:遍历对象的属性

for … in主要用于遍历对象,不建议用来遍历数组。
语法:

for (const 变量 in 对象) {

}
解释:对象中有几个属性,循环体就会执行几次。每次执行时,会将对象中的每个属性的 属性名 赋值给变量。

语法举例:

for (var key in obj) {
console.log(key); // 这里的 key 是:对象属性的键(也就是属性名)
console.log(obj[key]); // 这里的 obj[key] 是:对象属性的值(也就是属性值)
}
举例:
const obj = {
name: ‘smyhvae’,
age: 28,
gender: ‘男’,
address: ‘shenzhen’,
sayHi: function () {
console.log(this.name);
},
};

        // 遍历对象中的属性
        for (const key in obj) {
            console.log('属性名:' + key);
            console.log('属性值:' + obj[key]); // 注意,因为这里的属性名 key 是变量,所以,如果想获取属性值,不能写成 obj.key,而是要写成 obj[key]
        }

打印结果:

属性名:name
属性值:smyhvae

属性名:age
属性值:26

属性名:gender
属性值:男

属性名:address
属性值:shenzhen

属性名:sayHi
属性值:function() {
console.log(this.name);
}
for in 遍历数组(不建议)

另外,for in 当然也可以用来遍历数组(只是不建议),此时的 key 是数组的索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值