for...of
循环和for...in
循环都是用于遍历集合(对象、数组等)中的元素或属性,但它们之间存在一些区别。
遍历元素还是属性
for...of
循环用于遍历集合中的元素,而 for...in
循环用于遍历集合中的属性(包括可枚举的自有属性和继承属性)。
遍历顺序
for...of
循环按照集合中元素出现的顺序,依次遍历每个元素。例如,遍历数组时按照数组元素的顺序进行遍历。
for...in
循环遍历对象属性时,并不按照任何特定顺序,因此不能保证遍历顺序是固定的。同时,for...in
循环会遍历对象的自有属性和继承属性,因此可能会产生一些意外情况。
使用场景
for...of
循环适用于需要遍历集合中的所有元素,并且需要访问元素本身的值的情况。
for...in
循环适用于需要遍历集合中的属性,并且需要访问属性名称的情况。例如,可以用 for...in
遍历对象的属性,以判断对象是否包含某些特定的属性。但要注意, for...in
循环不适用于遍历数组等有序集合。
下面是一个使用
for...of
和for...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)