目录
01.set
(1) 不重复的数组
常用方法
add添加
delete删除
clear清除
has判断有没有
size长度
(2)set去重
let arr = [1,2,1,2,5,2,5];
arr =[...new Set(arr)]
console.log(arr)
(3)weakSet
WeakSet结构与Set类似,也是不重复的值的集合。
WeakSet的成员只能是对象,而不能是其他类型的值。
(4)map图
ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键
类似对象
特点:键可以是任意类型
初始化:new map([["qq",20],["aa",22],["zz",33]])
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
方法
set集合 get获取 delete删除 clear清楚 has判断有没有 size长度 WeakMap
就是一个 Map,只不过它的所有 key 都是弱引用,意思就是 WeakMap 中的东西垃圾回收时不考虑,使用它不用担心内存泄漏问题。 另一个需要注意的点是,WeakMap 的所有 key 必须是对象。没有size。
案例
// map 类似对象 键可以是任意类型
var m1 = new Map([["zql",18],["mumu",20],[{a:1,b:2},30],]);
console.log(m1);
//ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型
的值
(5)for of
定义:for in 循环用于遍历数组,类数组或对象,ES6中新引入的for of循环功能相似,不同的是每次循环它提供的不是序号而是值。
案例1
案例2
keys() 键集合
values() 值得集合
entries () 键和值得集合
(6)总结
let 关键词声明的变量不具备变量提升(hoisting)
特性 let 和 const 声明只在最靠近的一个块中(花括号内)有效
当使用常量 const 声明时,请使用大写变量,
如:CAPITAL_CASING const 在声明时必须被赋值