ES6语法(9)
来源:互联网 发布:it资讯 编辑:程序博客网 时间:2024/06/08 14:16
Set和Map数据结构
一、Set
ES6提供了新的数据结构——Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。
1.Set利用add()添加成员
{
let list= new Set();
list.add(1);
list.add(2);
}
2.利用size显示长度
{
let list= new Set();
list.add(1);
list.add(2);
console.log(list.size); //2
}
3.设置默认值
{
let arr = [1,2,3,4,5]
let list = new Set(arr);
console.log(list.size); //5
}
4.不会有重复的值
{
let list = new Set;
list.add(1);
list.add(2);
list.add(1);
console.log(list); //只有1,2
}
作用:去重,但是转换过程中不会做类型转换。
{
let arr = [1,2,3,1,2]
let list = new Set(arr);
console.log(list); //1,2,3
}
{
let arr = [1,2,3,1,"2"]
let list = new Set(arr);
console.log(list); //1,2,3,"2"
}
5.利用has检查是否有某个成员,delete删除成员,clear清空所有成员
{
let arr = [1,2,3,4,5]
let list = new Set(arr);
console.log(list.has(2)); //true
list.delete(2)
console.log(list); //1,3,4,5
list.clear();
console.log(list); //空
}
6.Set的key和value值是相同的,所以不用entries也可以遍历。
{
let arr = [1,2,3,4,5]
let list = new Set(arr);
for(let value of list){ //list后面可加 .entries ,value替换成[key,value]
console.log(value); //1,2,3,4,5
}
}
二、WeakSet
WeakSet元素只能是对象,并且是弱引用(地址的引用)。没有clear方法、没有size属性、不能遍历。其他方式相同。
{
let weakList = new WeakSet;
weakList.add({a:"aa"});
console.log(weakList); //成功
}
{
let weakList = new WeakSet;
weakList.add(3);
console.log(weakList); //出错
}
三、Map
类似于对象,也是键值对的集合,但是key不限于字符串,各种类型的值都可以作为key。
1.利用set设置,get读取
{
let maplist = new Map;
let arr = ["abc"];
maplist.set(arr,123);
console.log(maplist); //打印maplist对象
console.log(maplist.get(arr)); //123
}
2.传入数组
{
let arr=[["a",123],["b",234]];
let mapEx = new Map(arr);
console.log(mapEx);
}
3.获取长度 size
{
let arr = [["a",123],["b",234]];
let mapEx = new Map(arr);
console.log(mapEx.size); //2
}
4.删除 delete
{
let arr = [["a",123],["b",234]];
let mapEx = new Map(arr);
mapEx.delete("b");
console.log(mapEx); //只剩下a
}
5. 清空 clear
{
let arr = [["a",123],["b",234]];
let mapEx = new Map(arr);
mapEx.clear();
console.log(mapEx); //空
}
四、WeakMap
key值只能是对象。
没有clear方法、没有size属性、不能遍历。
- ES6语法(9)
- ES6语法
- es6语法
- ES6语法篇(其一)
- ES6 语法大概内容
- ES6新语法概览
- ES6核心内容之语法
- ES6 参数默认值语法
- Gulp使用ES6语法
- ES6语法摘要一
- es6语法学习
- ES6语法摘要二
- ES6语法整理
- ES6语法中的let
- ES6语法初探
- es6 — 基本语法
- ES6语法学习总结
- React中的es6语法
- win7电脑关机后鼠标灯还在亮怎么解决
- C++ 选择排序、冒泡排序、插入排序
- windows程序设计——开始、Unicode 简介
- Java ResourceBundle读取properies配置文件
- WinDbg分析DUMP文件
- ES6语法(9)
- Kotlin---android官方开发语言使用入门
- 在vue项目中前端生成二维码应该注意的问题
- 1017. A除以B (20)
- jdbc基础
- MySQL数据库开发规范
- python_大智慧SAR指标编写
- Django+ajax实现页面底部加载
- uC/OS-III之任务调度总结