1.Map 构造转为数组构造
比较疾速的要领是连系运用扩大运算符(…)
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']]
2.Map 轮回遍历
Map 原生供应三个遍历器:
- 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
3.Map 猎取长度
map.size;
4.Map 猎取第一个元素
const m = new Map();
m.set('key1', {})
m.set('keyN', {})
console.log(m.entries().next().value); // [ 'key1', {} ]
猎取第一个key
console.log(m.keys().next().value); // key1
猎取第一个value
console.log(m.values().next().value); // {}