首页 > 代码库 > ES6新属性(追加)

ES6新属性(追加)

话不多说,直接进正题

一、Map

Map也是ES6新增的一种数据类型,它的本质和对象一样都是键值对的集合。
与对象不同的是,它的键值可以是各种数据类型
首先我们创建一个Map数据
//用var创建一样let map1 = new Map();

我们通过Object实例化两个对象

var obj1 = new Object();var obj2 = new Object();

我们使用set方法对Map进行添加值

map1.set(obj1,"对象键值1");map1.set(obj2,"对象键值2");console.log(map1);

还可以用get方法进行取值

console.log(map1.get(obj1));console.log(map1.get(obj2));

has方法判断是否存在

console.log(map1.has(obj2));

delete方法删除数据

map1.delete(obj2);console.log(map1.has(obj2));

size属性可返回其大小,类似数组的length属性

console.log(map1.size)

clear方法清空数据

map1.clear();console.log(map1.size);
数组作为构造函数参数
let arrMap = new Map([[‘name‘,‘lemon‘],[‘age‘,‘18‘]]);console.log(arrMap);
forEach遍历Map
arrMap.forEach(function(val,key){    console.log(key+":"+val);});
转换成数组    扩展运算符
let arr = [...arrMap];console.log(arr);

for  of 循环

for(let i of arrMap){  console.log(i);}
键迭代器
let keys = arrMap.keys();console.log(keys);for(var i = 0 ; i < arrMap.size; i++){    console.log(keys.next().value);}
值迭代器
let vals = arrMap.values();console.log(vals);

数字类型的键值

let map = new Map([[1,"zhangsan"],[2,"lisi"]]);map.forEach(function(val,key){    console.log(key+":"+val);});

 

 
 

ES6新属性(追加)