最新要闻

广告

手机

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

家电

js的Map数据类型

来源:博客园
与对象相似,Map也是由一组键值对生成的集合,但是Map的key除了采用字符串还可以采用其它的类型。那么,要如何构造一个Map对象呢?

Map构造

可以初始化构建一个空的Map对象,再添加键值对

var map = new Map();  map.set("name","zhangsan");  map.set("age",40);

也可以直接用一个二维数组构造一个Map对象,如:

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"]])

get()

get方法可以通过给定的键,查询到Map的值


(资料图)

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"]]);  map.get("age")  //返回40  map.get("name") //返回wangqiang                

set()

set方法可以向map中添加一个键值对,如果map中键已经存在,则修改该键的值。

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"]]);  map.set("age",38);  map.set("address","tianhe guangzhou");  for (let item of map){      console.log(item[0],":",item[1]);  //遍历可以看到添加的键值对  }

delete()

delete方法可以通过给定的键,删除掉map的值

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"]]);  map.delete("age") 

has()

has方法可以查询给定的键是否存在

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"]]);  map.delete("age")  map.has("age")  // false;               

map的遍历

通过for(...of...){...}可以对map的内容进行遍历

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"],["address","tianhe"]]);  for (let item of map){      console.log(item[0],item[1]);  }

除了通过上面提到的for(... of ...){...}循环进行遍历,还可以使用迭代器进行遍历

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"],["address","tianhe"]]);  var entries = map.entries();  //获取一个迭代器  for (;;){      let entry = entries.next(); //迭代      if (entry.done){            //迭代是否完成          break;      }      console.log(entry.value[0],":",entry.value[1]);  }         

clear()

clear方法清空map的键值对

var map = new Map([["name","wangqiang"],["age",40],["city","guangzhou"]]);  map.clear();  map.size();  //0

文章同时发表在:码农编程网欢迎访问

本节重点:

  • map对象的构造介绍;
  • map对象常见方法和属性的使用;
  • map对象的遍历。

关键词: