ES6新属性(追加)
Posted 小凡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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新属性(追加)的主要内容,如果未能解决你的问题,请参考以下文章