(代码示例)for...in 循环会遍历数组的所有可枚举属性

for...in循环会遍历数组的所有可枚举属性,包括数组的索引和所有原型链上的属性。下面是一个例子:

Array.prototype.myProperty = 'Hello'; // 添加一个属性到数组的原型链上

let arr = [1, 2, 3];
arr.myOwnProperty = 'World'; // 添加一个自有属性

for (let property in arr) {
  console.log(property + ': ' + arr[property]);
}

在这个例子中,我们首先添加一个属性myPropertyArray.prototype上。然后,我们创建一个数组arr,并添加一个自有属性myOwnProperty。当我们使用for...in循环遍历arr时,它会打印出数组的所有可枚举属性,包括数组的索引"0", "1", "2"),自有属性"myOwnProperty"),以及原型链上的属性"myProperty")。所以,输出将是:

0: 1
1: 2
2: 3
myOwnProperty: World
myProperty: Hello

这就是为什么使用for...in循环遍历数组时需要小心。如果你只想遍历数组的元素,而不是所有可枚举的属性,那么使用for循环、while循环或者数组的forEachmapfilter等方法会更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值