set map数据结构

原创 小Q 随笔 ES6 47阅读 13 天前 举报

set本身构造函数,用来生成数据结构,它的成员具有唯一性,相同值不会添加。

set只能通过add()方法向set结构添加成员,set结构不会添加重复的值

对数组去重

let arr=[1,2,3,3,4,5,8,9,7,5,4,2,3]

arr2=[...new Set(arr)]
console.log(arr2)
//[1,2,3,4,5,7,8,9]

set 和map的长度用size返回而不是length

set成员只接收数组,不接收类数组

四个操作方法

add()添加某个值,返回set结构本身
delete()返回布尔值
has()返回布尔值
clear()清除所有成员,没返回值

Array.from()可以将set转为数组

set遍历操作方法

keys()返回键名的遍历器
values()返回值的遍历器
entries()返回键值对的遍历器
forEach()使用回调函数遍历每个成员
set键名就是成员
Object.is用来判断两个对象是否相等
WeakSet与set类似
不同点
1、weakset必须是引用型,不能是值类型

WeakSet有3个方法
WeakSet.prototype.add(value)向WeakSet添加成员
WeakSet.prototype.delete(value)清除指定成员
WeakSet.prototype.has(value)返回布尔值
没有size属性,同时没有this属性

map结构

键值对集合
map如果接收数组作为参数,必须二维数组

实例的属性和方法

size返回成员总数
set(key,value)设置键值对,返回结构
get(key)读取key对应的值,找不到就undefined
has(key)返回布尔值,表示key是否在map上
delete(key)删除某个键,失败返回false
clear()清空所以成员,没有返回值

遍历与set一样
keys()返回键名的遍历器
values()返回键值的遍历器
entries()返回所有成员的遍历器
forEach()遍历map所有成员

weakmap没有clear size等于weakset类似

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复