JavaScript标准内置对象之map

map对象是以键值对的形式保存数据的,是一种键值对的集合,同时也能记住键的原始插入顺序。

构造函数

通过new Map()创建Map对象

let map = new Map()

静态属性

Map[Symbol.species],用于创建派生对象的构造函数

实例属性

实例属性是在Map.prototype 上定义的,同时所有的Map实例都可以共享

Map.prototype.size返回Map对象中键值对的数量

const map1=new Map()
map1.set('a',1);
map1.set('b',2);
map1.set('c',3);
map1.set('d',4);
map1.set('e',5);

console.log(map1.size)
//输出 5

实例方法

  1. Map.prototype.clear()该方法用于移出Map对象中的所有键值对

    const map1 = new Map();
    
    map1.set('bar', 'baz');
    map1.set(1, 'foo');
    
    console.log(map1.size);
    //输出 2
    
    map1.clear();
    
    console.log(map1.size);
    // 输出 0

  2. Map.prototype.delete()该方法从Map中删除指定键的元素

    const map1 = new Map();
    map1.set('bar', 'foo');
    
    console.log(map1.delete('bar'));
    // 输出 true
    
    console.log(map1.has('bar'));
    // 输出为 false

  3. Map.prototype.get()返回map中指定的元素

    const map1 = new Map();
    map1.set(1, 'a');
    map1.set(2, 'b');
    map1.set(3, 'c');
    
    console.log(map1.get(1));
    // 输出 a
    
    console.log(map1.get(4));
    //输出 undefined
    
  4. Map.prototype.has()指定键的元素是否存在,返回的是布尔值

    const map1 = new Map();
    map1.set(1, 'a');
    
    console.log(map1.has(1));
    //输出 true
    
    console.log(map1.has(2));
    // 输出 false
  5. Map.prototype.set()向map对象,添加或更新一个指定的键值对

  6. Map.prototype.values()返回一个新的map对象,新的对象包含原map中每个元素的值

    const map1 = new Map();
    
    map1.set('0', 'foo');
    map1.set(1, 'bar');
    
    const iterator1 = map1.values();
    
    console.log(iterator1.next().value);
    // 输出"foo"
    
    console.log(iterator1.next().value);
    //输出"bar"
  7. Map.prototypeSymbol.iterator]()返回一个map迭代器对象,会按照插入顺序生成map的键值对

    const map1 = new Map();
    
    map1.set(0, 'a');
    map1.set(1, 'b');
    
    const iterator1 = map1[Symbol.iterator]();
    
    for (const item of iterator1) {
      console.log(item);
    }
     //输出 Array [0, "a"]
     //输出 Array [1, "b"]
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值