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新属性(追加)的主要内容,如果未能解决你的问题,请参考以下文章

ES6解构

react入门系列之todolist代码优化(使用react 新特性,es6语法)

有人可以在快速数组中给出“如果不存在则追加”方法的片段吗?

关于es6新属性yield

ES6中的一些新特性

ES6解构赋值