在ES6中新增了另外两种数据结构:Set 和Map ,以及它们的另外形式WeakSet、WeakMap set数据结构 Set是新增的数据结构,可以用来保存数据,类似于数组,但是和数组的区别是元素不能重复 创建Set我们需要通过Set构造函数(暂时没有字面量创建方式) 应用场景:数组去重
set去重
// 应用场景:数组去重 const names = ["html","css","vue","nodejs","webpack","html","css"] const set = new Set(names) console.log(Array.from(set))
原生去重
const names = ["html","css","vue","nodejs","webpack","html","css"] const newArray = [] for(let item of names) { if(!newArray.includes(item)) { newArray.push(item) } } console.log(newArray)
set常见方法 Set常见的属性: size:返回Set中元素的个数
size属性
const arr = ["html","css","vue","nodejs","webpack"] const set = new Set(arr) console.log(set.size) // 5
Set常用的方法: add(value):添加某个元素,返回Set对象本身 delete(value):从set中删除和这个值相同的元素,返回boolean类型 has(value):判断set中是否存在 clear():清空set中所有的元素,没有返回值 forEach():可以通过forEach遍历set Map数据结构 map用于存储映射关系 可以将对象key用其他类型 比如对象 ,也就是对象的key可以是对象类型 Map常见属性: size:返回Map中元素的个数 Map常见的方法 set(key,value):在Map中添加key、value,并且返回整个Map对象 get(key):根据key获取Map中的value has(key):判断是否包括某个key,返回Boolean类型 delete(key):根据key删除一个键值对,返回Boolean类型 clear():清空所有的元素 forEach()可以遍历Map
const map = new Map() map.set(info,"aaa") console.log(map.get(info)