ES6 Map經常使用方法總結

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 原生提供三個遍歷器: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

3.Map 獲取長度

map.size;

4.Map 獲取第一個元素

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); // {}
相關文章
相關標籤/搜索