for of 和for in 遍历得到的是什么
时间: 2024-05-26 21:13:08 浏览: 72
for...of 循环用于遍历可迭代对象(例如数组、字符串、Map、Set 等),并返回每个元素的值。
for...in 循环用于遍历对象的可枚举属性,并返回属性名。因此,如果你想要遍历数组或者字符串等序列类型的对象,应该使用 for...of 循环。如果你想要遍历对象的属性,应该使用 for...in 循环。
相关问题
for forEach forin forof 遍历的区别
这些都是 JavaScript 中用于遍历集合的循环语句。它们的区别如下:
1. `for` 循环:`for` 循环是最基本的循环语句,用于按照指定条件重复执行一段代码。它需要手动控制迭代索引,适用于数组和类数组对象的遍历。
2. `forEach` 循环:`forEach` 是数组的方法,它接受一个回调函数作为参数,在数组的每个元素上执行该函数。它自动迭代数组,并且无法中途退出循环或者跳过某个元素。
3. `for-in` 循环:`for-in` 循环用于遍历对象的可枚举属性。它会迭代对象自身及其原型链上的所有可枚举属性,并将属性名赋值给循环变量。注意,`for-in` 循环不保证按照特定顺序遍历属性。
4. `for-of` 循环:`for-of` 循环是 ES6 引入的新特性,用于遍历可迭代对象(如数组、字符串、Set、Map 等)。它提供了一种简洁而直观的方式来遍历集合中的元素,不需要手动控制索引或使用索引访问元素。
总结来说,`for` 循环适用于数组和类数组对象,需要手动控制索引;`forEach` 循环适用于数组,自动迭代数组元素;`for-in` 循环适用于对象,迭代可枚举属性;`for-of` 循环适用于可迭代对象,提供了更简洁的语法。
for in for of遍历区别
for循环和for...in循环都是用来遍历数组或对象的元素的,但它们的用法略有不同:
1. for循环:用于遍历数组或对象,可以使用数组下标或对象属性进行访问和操作。
2. for...in循环:用于遍历对象的可枚举属性,包括自身属性和原型链上的属性,不能用于遍历数组。for...in循环返回的是属性名,而不是属性值。
3. for...of循环:用于遍历可迭代对象(例如数组、字符串、Set、Map等),返回的是迭代器对象的值,而不是索引或属性名。
举个例子:
```javascript
const arr = [1, 2, 3];
const obj = {a: 1, b: 2, c: 3};
// for循环
for(let i=0; i<arr.length; i++) {
console.log(arr[i]);
}
for(let key in obj) {
console.log(key, obj[key]);
}
// for...of循环
for(let item of arr) {
console.log(item);
}
// 错误的使用for...in循环遍历数组
for(let index in arr) {
console.log(index, arr[index]);
}
```
输出结果分别为:
```
1
2
3
a 1
b 2
c 3
1
2
3
0 1
1 2
2 3
```
可以看到,for循环和for...of循环遍历数组的结果相同,而for...in循环遍历数组的结果是索引值,而不是数组元素本身。因此,在遍历数组时应该使用for循环或for...of循环,而不是for...in循环。
阅读全文