forof循环遍历map
时间: 2023-11-15 10:56:25 浏览: 38
可以使用for...of循环遍历Map对象,示例代码如下:
```
const myMap = new Map();
myMap.set('key1', 'value1');
myMap.set('key2', 'value2');
for (const [key, value] of myMap) {
console.log(`${key} = ${value}`);
}
```
输出结果为:
```
key1 = value1
key2 = value2
```
相关问题
for of遍历map
通过for of循环可以遍历Map的键值对、键、值。使用for of循环遍历Map的方法有以下几种:
1. 遍历键值对:使用`for (const item of map)`,其中item为数组,包含键和值。
2. 遍历键值对:使用`for (const item of map.entries())`,其中item为数组,包含键和值。
3. 遍历键:使用`for (const key of map.keys())`,可以获取到Map中的键。
4. 遍历值:使用`for (const value of map.values())`,可以获取到Map中的值。
5. 使用`forEach()`方法进行遍历,这种方法没有返回值,可以在回调函数中获取到键和值。
所以,通过for of循环我们可以轻松地遍历Map中的键值对、键、值。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
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循环。