比较快速的方法是结合使用扩展运算符(...)数组
let map = new Map([ [1, 'one'], [2, 'two'], [3, 'three'], ]); [...map.keys()] // [1, 2, 3] [...map.values()] // ['one', 'two', 'three'] [...map.entries()] // [[1,'one'], [2, 'two'], [3, 'three']] [...map] // [[1,'one'], [2, 'two'], [3, 'three']]
Map 原生提供三个遍历器:code
- keys():返回键名的遍历器。
- values():返回键值的遍历器。
- entries():返回全部成员的遍历器。
下面是使用实例。接口
let map = new Map([ ['F', 'no'], ['T', 'yes'], ]); for (let key of map.keys()) { console.log(key); } // "F" // "T" for (let value of map.values()) { console.log(value); } // "no" // "yes" for (let item of map.entries()) { console.log(item[0], item[1]); } // "F" "no" // "T" "yes" // 或者 for (let [key, value] of map.entries()) { console.log(key, value); } // 等同于使用map.entries() for (let [key, value] of map) { console.log(key, value); } 上面代码最后的那个例子,表示 Map 结构的默认遍历器接口(Symbol.iterator 属性),就是 entries 方法。 map[Symbol.iterator] === map.entries // true
map.size;
const m = new Map(); m.set('key1', {}) m.set('keyN', {}) console.log(m.entries().next().value); // [ 'key1', {} ]
获取第一个keythree
console.log(m.keys().next().value); // key1
获取第一个valueit
console.log(m.values().next().value); // {}