ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] #### Set结构数据 特征:Set结构数据里面的内容不允许重复 <script type="text/javascript"> var s = new Set(); //向Set结构数据中追加内容 s.add(1); s.add(2); s.add(3); s.add(2); s.add(2); s.add(2); s.add(2); console.log(s); //查看Set结构数据长度 console.log(s.size); </script> <script type="text/javascript"> //初始化Set结构数据的时候,允许传入一个数组 var s = new Set(['a','b','c','b','d','c','b']); console.log(s); </script> #### Set结构数据的方法 <script type="text/javascript"> //初始化Set结构数据的时候,允许传入一个数组 var s = new Set(['a','b','c','b','d','c','b']); //删除数据 s.delete('b'); console.log(s); //获得Set结构数据中有没有某个值 var result = s.has('cc'); console.log(result); //清除Set数据中所有的成员 s.clear(); console.log(s); </script> #### 去重复 <script type="text/javascript"> var arr = ['a','b','c','b','d','c','b']; arr = [...new Set(arr)]; console.log(arr); </script> <script type="text/javascript"> var arr = ['a','b','c','b','d','c','b']; var s = new Set(arr); arr = Array.from(s); console.log(arr); </script> #### set数据的遍历 <script type="text/javascript"> var arr = ['a','b','c','b','d','c','b']; var s = new Set(arr); //console.log(s.keys()); //获得所有键值的遍历器对象 for (x of s.keys()) { console.log(x); } s.forEach(x=>{ console.log(x); }) </script> #### Map结构的数据是一种键值对(键名=>键值)形式,键名可以是任意类型的数据 <script type="text/javascript"> var m = new Map(); m.set(1,2); console.log(m.get(1)); //2 var obj = {a:1,b:2}; m.set(obj,'后盾人'); console.log(m.get(obj)); //后盾人 console.log(m.has(obj)); //true m.delete(obj); console.log(m); //obj </script> #### Map初始化 Map结构的数据在创建的时候,允许传入一个二维数组.二维数组中的每个子数组都分别是一个键值对 <script type="text/javascript"> var m = new Map([ ['name','后盾人'], [2>1,123] ]) console.log(m); console.log(m.get(2>1)); </script> #### Map 遍历 <script type="text/javascript"> var m = new Map([ ['name','后盾人'], [2>1,123], [1,666] ]) for (x of m.keys()) { console.log(x); } //name , 2 ,1 for (x of m.values()) { console.log(x); } //后盾人 , 123,666 for (x of m.entries()) { console.log(x[0]+'=>'+x[1]); } m.forEach((v,k)=>{ console.log(v,k); }) v-->键值 k->健名 </script>