Javascript for of 和for in的区别

岳小威子
2023-06-17 / 368 个字 / 0 评论 / 47 阅读 / 加载耗时:25ms / 正在检测是否收录...
温馨提示:
本文最后更新于2023年06月17日,已超过546天没有更新,若内容或图片失效,请留言反馈。

for...of 循环和 for...in 循环都是用于遍历集合(对象、数组等)中的元素或属性,但它们之间存在一些区别。

遍历元素还是属性

for...of 循环用于遍历集合中的元素,而 for...in 循环用于遍历集合中的属性(包括可枚举的自有属性和继承属性)。

遍历顺序

for...of 循环按照集合中元素出现的顺序,依次遍历每个元素。例如,遍历数组时按照数组元素的顺序进行遍历。

for...in 循环遍历对象属性时,并不按照任何特定顺序,因此不能保证遍历顺序是固定的。同时,for...in 循环会遍历对象的自有属性和继承属性,因此可能会产生一些意外情况。

使用场景

for...of 循环适用于需要遍历集合中的所有元素,并且需要访问元素本身的值的情况。

for...in 循环适用于需要遍历集合中的属性,并且需要访问属性名称的情况。例如,可以用 for...in 遍历对象的属性,以判断对象是否包含某些特定的属性。但要注意, for...in 循环不适用于遍历数组等有序集合。

下面是一个使用 for...offor...in 循环的示例代码:

const arr = [1, 2, 3];
const obj = { a: 1, b: 2, c: 3 };

// 使用 for...of 遍历数组
for (const item of arr) {
  console.log(item);
}

// 使用 for...in 遍历对象属性
for (const key in obj) {
  console.log(key + ': ' + obj[key]);
}

在上面的代码中,我们使用 for...of 循环遍历数组中的元素,并使用 for...in 循环遍历对象的属性。

文章到这里就结束了

您在本文章已经停留了大概
喜欢的话就点个赞吧!或着请我喝个冰可乐,我就太感谢你了!


0
打赏
拜谢打赏(☆ω☆)

感谢老板,老板大气。。

评论 (0)

取消