比較快速的方法是結合使用擴展運算符(...)數組
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); // {}