Map实现遍历的方法有哪些
更新时间:2023-10-111. for...in循环
使用for...in循环可以遍历对象、数组和Map。对于Map而言,可以遍历它的keys、values或entries。
const map = new Map([ ['a', 1], ['b', 2], ['c', 3] ]); for (const key in map) { console.log(key); // 输出三个数字类型的键 } for (const value of map.values()) { console.log(value); // 输出三个数字类型的值 } for (const entry of map.entries()) { console.log(entry[0], entry[1]); // 输出a 1,b 2,c 3 }
2. forEach()方法
Map实例有一种forEach()方法,它可以用于遍历Map所有的元素。该方法接收一个回调函数,它可以分别遍历Map元素的key、value和整个entry。
const map = new Map([ ['a', 1], ['b', 2], ['c', 3] ]); map.forEach((value, key, map) => { console.log(key + ':' + value); // 输出a:1,b:2,c:3 });
3. 扩展运算符(...)
可以使用扩展运算符(...),将Map的内容拓展到数组中。然后可以对数组使用forEach()方法或for...of循环进行遍历。
const map = new Map([ ['a', 1], ['b', 2], ['c', 3] ]); [...map].forEach(([key, value]) => { console.log(key + ':' + value); // 输出a:1,b:2,c:3 });
4. 迭代器(Iterator)
Map实例拥有一个迭代器(Iterator),可以使用它进行遍历。
const map = new Map([ ['a', 1], ['b', 2], ['c', 3] ]); const iterator = map.entries(); let current = iterator.next(); while (!current.done) { const [key, value] = current.value; console.log(key + ':' + value); // 输出a:1,b:2,c:3 current = iterator.next(); }