ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个数据结构,用来生成Set 数据结构. const s = new Set(); [2,3,5,4,5,2,2,2].forEach(x=>s.add(x)); for(let i of s) { console.log(i); } // 2 3 5 4 Set 函数可以接受一个数组作为参数. 可以利用去除数组重复成员的方法. [...new Set(array)] // 去除数组重复变量成…
本文作为ES6入门第十三章的学习整理笔记,可能会包含少部分个人的理解推测,若想阅读更详细的介绍,还请阅读原文ES6入门 一.set数据结构 1.set不接受重复值 ES6新增了Set构造函数用于创建set数据结构,这种结构类似于数组,但有很大的一个区别就是,set数据结构不接受重复值,每个值都是唯一的. 我们可以通过Set构造函数快速创建一个set数据结构,顺便打印看看究竟长什么样: let s = new Set(); console.dir(s); 那么可以看到,set实例具有一个size属…
一.Set集合创建Set实例:let set = new Set();1.特性:a.Set本身是一个构造函数,用来生成Set数据结构[类比数组结构]b.Set函数可以接受具有Iterable接口的数据结构作为参数c.Set集合中的成员是唯一的[即不可重复] 2.Set实例的相关属性及方法a.属性Set.prototype.constructor:构造函数,默认就是Set函数 Set.prototype.size:返回Set实例的元素的个数 [set.size] b.方法add(value)…
一.Set遍历方法: set.key() set.values() set.entries() 二.Set例子: var s = new Set(); var arr = [1,1,2,3,6,8,8,9,10]; arr.map( x => s.add(x) ); for (i of s) { console.log(i); } 打开结果:通过add,Set结构不会添加重复的值. PS:Set对存入数据 1和'1',是不识别,需求用 "===" . 三.Map 1.Map结构的…
WeakMap: is a type of Map where only objects can be passed as keys. Primitive data type -- such are string, numbers, booleans, etc --- are not allowed. let user = {}; let comment = {}; let mapSettings = new WeakMap(); mapSettings.set(user, "user"…
//数据结构对比 增查改删 { //map.set和Object let item = {t:1}; let map = new Map(); let set = new Set(); let obj = {}; //增 map.set('t',1); set.add(item); obj['t'] = 1; console.info('map-set-obj',map,set,obj);//{"t" => 1};0:value:{t: 1};{t:1}; //查 console…
//Map与Array的对比 { let map=new Map(); let array=[]; //增 map.set('t',1); array.push({t:1}); console.info('map-Array',map,array); //查 let map_exist=map.has('t'); let array_exist=array.find(item=>item.t); console.info('map-Array',map_exist,array_exist);//…
//Set { let list=new Set(); list.add(5);//添加 list.add(7); //属性size就是长度 console.log('size',list.size); } { let arr = [1,2,3,4,5]; let list = new Set(arr); console.log(list.size); } { //去重 let list = new Set(); list.add(1); list.add(2); list.add(1); co…
一.map,简单的键值对映射,具有很快的查找速度 1. 初始化map,map的键名可以使用其他数据类型,对象的属性名只能使用字符串或symbol 使用二维数组 var m = new Map([['name', 'LQW'], ['age', 23], [123, '我的键名是数字类型']]);m.get('name'); // LQW 初始化一个空Map var m = new Map();m.set('name', 'LQW');m.set('age', 23);m.set(123, '我的…
今天小编和大家一起探讨一下引用类型中的map,在其中会有一些map与数组联合应用,还有和map类似的weakmap类型的说明,这篇文章同时也增加了一些操作数组的办法和实际应用.大家也可以关注我的微信公众号,蜗牛全栈. 一.map的声明 let s = new Set([1,2,3]) console.log(s) // Set(3){1,2,3} // map中的数据不会出现重复的情况,如果重复,会将重复的元素去掉.可以应用这一特性,对数组进行去重等处理 let s = new Set([1,2…