凌优教育
您的当前位置:首页ES6学习教程之Map的常用方法总结

ES6学习教程之Map的常用方法总结

来源:凌优教育


前言

ES6包含了许多新的语言特性,这会让JS变的更加强大且富有表现力。本文将给大家详细介绍关于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 原生提供三个遍历器:

  • 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); // {}

    总结

    显示全文