SET 和 MAP 数据结构
- 两个是 ES6 出现的两种数据结构
SET 就是一个类似于 数组 的数据结构
MAP 就是一个类似于 对象 的数据结构
SET 数据结构
-
创建数据的语法
内置构造函数创建:var s1 = new Set()
创建的时候可以直接向小括号里面添加数据
var s1 = new Set([1, 2, 3, true, ‘hello world’, ‘你好世界’, function () {}, …]) -
SET的方法和属性
-
size 属性 -> 表示数据结构里面有多少数据
在数组里面使用 length
= 在 SET 数据结构里面使用 size -
add() 方法 -> 向该数据集合里面添加数据使用
= 添加重复数据的时候不会添加成功
= 语法: 该数据结构.add(要添加的内容) -
delete() 方法 -> 用来删除数据结构里面的某个数据
= 语法: 该数据结构.delete(要删除的数据) -
clear() 方法 -> 用来清除数据结构中的所有数据
= 语法: 该数据结构.clear() -
has() 方法 -> 用来判断该数据结构里面有没有某个数据
= 语法: 该数据结构.has(你要判断的数据)
= 返回值:
- true: 表示有
- false: 表示没有 -
forEach() 方法 -> 用来遍历该数据结构
= 注意: 这个 forEach 不是数组常用方法, 是 Set 自己的方法
= 语法: 该数据结构.forEach(function () {}) -
… 运算符 -> 把数据结构还原成一个数组
= 和 Array.from() 一样的功能
= 语法: …该数据结构
= 还原成一个数组 -
作用: 数组去重
+ 因为它可以把一个数组里面的重复数据都干掉
+ 因为它不接受重复数据
+ … 还可以还原成一个数组
-
MAP 数据结构
- MAP 数据结构
是一个类似于 对象 的数据结构
= 对象里面的 key 只能是 string 数据类型
= Map 数据结构里面的 key 可以是复杂数据类型
= 我们又管 Map 数据结构叫做 值=值 的数据结构
= 不接受重复数据 - 创建
1. 内置构造函数创建
var m1 = new Map()
+ 创建的时候直接写入一些数据
= 写入需要写成一个二维数组的形式
= var m1 = new Map([ [ 每一项的 key, 每一项的 value ], [ key, value ] ])
+ 常用方法和属性 - size 属性 -> 用来获取该数据结构的长度
- set() 方法 -> 用来向该数据结构里面添加成员的
= 语法: 该数据结构.set(key, value)
= 这个 set 是 Map 数据结构的方法 set
- 不是 Set 数据结构
- new Set([]) - get() 方法 -> 用来获取数据结构里面某一个成员的
= 语法: 该数据结构.get(你要获取的key)
= 返回值: 你获取这个 key 的 value - delete() 方法 -> 用来删除数据结构里面的数据的
= 语法: 该数据结构.delete(你要删除的key) - clear() 方法 -> 用来清除该数据结构的所有数据
= 语法: 该数据结构.clear() - has() 方法 -> 用来检测有没有某个数据的
= 语法: 该数据结构.has(你要检测的 key)
= 返回值:
- true: 表示有
- false: 表示没有 - forEach() 方法 -> 用来遍历该数据结构的
= 使用的不是数组常用方法, 是自己的
= 语法: 该数据结构.forEach(function () {}) - … 运算符 -> 还原成一个数组
= 还原成一个 二维数组的样子
= 语法: […该数据结构]
= 里面每一个小数组都有两个成员
- [0] 就是数据结构里面的 key
- [1] 就是数据结构里面的 value
家中逆战,无畏疫情,武汉加油,中国加油,人类必胜!!!