es6->数据结构

来源:互联网 发布:淘宝美工在哪里找素材 编辑:程序博客网 时间:2024/06/09 23:42

在es6中提供了新的数据结构Set 类似于一个数组 但是成员的值都是唯一的,没有重复的值
Set函数可以接受一个数组/类数组作为参数,用来初始化。
四个api add delete has clear 分别对应增删改查

Weakest 和Set 类似
区别在于 WeakSet的值在于成员只能是对象,而不能是其他类型的值
没有clear 清除

Map 提供了值-》值的表现形式
map.set([‘123’],456).get([‘123’])//456
delete 删除 clear 清除

WeakMap()
必须是对象 没有set属性 不能用clear


// {
// ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
// Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。
// add(value):添加某个值,返回Set结构本身。
// delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
// has(value):返回一个布尔值,表示该值是否为Set的成员。
// clear():清除所有成员,没有返回值
// let list = new Set();
// list.add(5);
// list.add(7);
// }
// {
// let arr=[1,2,3,4,5];
// let list = new Set(arr);
// console.log(list)
// }
// {
// let list= new Set();
// list.add(1);
// list.add(2);
// list.add(1);
//
// console.log(list)
// }
// {
// let arr=[1,2,3,1,’2’];
// let list2 =new Set(arr);
// console.log(list2)
// }
// {
// let arr=[‘add’,’delete’,’clear’,’has’];
// let list=new Set(arr);
// console.log(list.delete(‘add’))
// console.log(list)
// list.clear();
// console.log(list)
// }
// {
// let arr=[‘add’,’delete’,’clear’,’has’];
// let list=new Set(arr);
// for(let key of list.keys()){
// console.log(key)
// }
// for(let value of list.values()){
// console.log(value)
// }
// for(let key of list.entries()){
// console.log(key)
// }
// list.forEach((item)=>console.log(item))
// 针对 Set es 6提供了三个api keys,values,entries(相当于前两个的集合)
// }
// weakset
// WeakSet结构与Set类似,也是不重复的值的集合。
//
// WeakSet和Set的区别:
//
// WeakSet的成员只能是对象,而不能是其他类型的值
// WeakSet中的对象都是弱引用, 即垃圾回收机制不考虑WeakSet对该对象的引用,
// 也就是说, 如果其他对象都不再引用该对象, 那么垃圾回收机制会自动回收该对象所占用的内存,
// 不考虑该对象还存在于WeakSet之中。 这个特点意味着, 无法引用WeakSet的成员, 因此WeakSet是不可遍历的。
// {
// let WeakList=new WeakSet();
// // 只能是对象
// let obj={};
// WeakList.add(obj)
// console.log(WeakList)
// }
//
//
// Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。
// 如果你需要“键值对”的数据结构,Map比Object更合适。
// 它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,
// 各种类型的值(包括对象)都可以当作键。
// {
// let map=new Map();
// let arr=[‘123’];
// map.set(arr,456)
// console.log(map.get(arr))
// }
//
// {
// let map=new Map([[1,2],[3,4]]);
// console.log(map.size)
// console.log(map.delete(1),map)
// map.clear();
// console.log(map)
// }\

//
// {
// let weakmap=new WeakMap();
// // 必须是对象
// // 没有set属性
// // 和weakSet一样不能用clear
//
// let o={};
// weakmap.set(o,123);
// console.log(weakmap)
// }

原创粉丝点击