{
let list = new Set();
list.add(5);
list.add(7); console.log('size', list, list.size); //{5, 7} 2
} {
let arr = [1, 2, 3, 4, 5];
let list = new Set(arr); console.log('size', list.size); //
} {
let list = new Set();
list.add(1);
list.add(2);
list.add(1); console.log('list', list); //{1,2} let arr = [1, 2, 3, 1, '2'];
let list2 = new Set(arr); console.log('unique', list2); //{1,2,3,'2'}
} {
let arr = ['add', 'delete', 'clear', 'has'];
let list = new Set(arr); console.log('has', list.has('add')); //true
console.log('delete', list.delete('add'), list); //{"delete", "clear", "has"}
list.clear(); //清空
console.log('list', list); //{}
} {
let arr = ['add', 'delete', 'clear', 'has'];
let list = new Set(arr);
console.log('list', list); //{"add":"add","delete":"delete","clear":"clear","has":"has"}
for (let key of list.keys()) {
console.log('keys', key); //add delete clear has
}
for (let value of list.values()) {
console.log('value', value); //add delete clear has
}
for (let [key, value] of list.entries()) {
console.log('entries', key, value); // add add;delete delete;clear clear;has has;
} list.forEach(function(item) { console.log('item', item); }) //add delete clear has
} {
let weakList = new WeakSet(); let arg = {}; weakList.add(arg); // weakList.add(2); console.log('weakList', weakList); //{}
} {
let map = new Map();
console.log('mapfirst', map); //{}
let arr = ['123']; map.set(arr, 456);
console.log('maptwo', map);//{array(1)=>456}
console.log('map', map, map.get(arr)); //
} {
let map = new Map([
['a', 123],
['b', 456]
]);
console.log('map args', map);//{"a"=>123,"b"=>456}
console.log('size', map.size);//
console.log('delete', map.delete('a'), map);//true , {"b"=>456}
console.log('clear', map.clear(), map);//{}
} {
let weakmap = new WeakMap(); let o = {};
weakmap.set(o, 123);
console.log(weakmap.get(o));//
}

es6 语法 (set 和 map)的更多相关文章

  1. es6语法详解

    什么是ECMAScript? ECMAScript是浏览器脚本语言的规范,而我们熟知的js语言,如JavaScript则是规范的具体实现.es6就好比Java的jdk. 一.es6语法详解:let声明 ...

  2. ES6中Set 和 Map用法

    JS中Set与Map用法 一.Set 1.基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. ...

  3. ES6语法知识

    let/const(常用) let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(通俗讲就是一个花括号内是一个新的作用域) 这里外部的 ...

  4. 在Node中使用ES6语法

    Node本身已经支持部分ES6语法,但是import export,以及async await(Node 8 已经支持)等一些语法,我们还是无法使用.为了能使用这些新特性,我们就需要使用babel把E ...

  5. [bug] VUE 的 template 中使用 ES6 语法导致页面空白

    如果你在 template 中,使用了 es6 及以上的语法,那么,在部分ios.安卓.微信浏览器中,打开页面后显示一片空白内容.如下: <ul id="example-1" ...

  6. webpack中使用babel处理es6语法

    index.js const arr = [ new Promise(()=>{}), new Promise(()=>{}) ]; arr.map(item => { consol ...

  7. es6的Set和Map数据结构

    Set 和 Map 数据结构 Set WeakSet Map WeakMap Set § ⇧ 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set ...

  8. 关于安卓浏览器无法识别es6语法

    这几天写代码,在highcharts的代码里用了一些es语法 在PC端及iphone上都能正常运行,在安卓上无法显示 一直不知道什么原因.后来一点点查看才发现是下面的两句es6代码 1: .map(i ...

  9. 35.ES6语法介绍——2019年12月24日

    2019年12月24日16:22:24 2019年10月09日12:04:44 1. ES6介绍 1.1 新的 Javascript 语法标准 --2015年6月正式发布 --使用babel语法转换器 ...

  10. 使用babel转码器,让浏览器支持es6语法

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,可是很多浏览器并不支持es6语法,所以我们需要一个转码工具, 把es6的语法转换成浏览器支持的javascr ...

随机推荐

  1. Python面向对象3:面向对象的三大特性

    面向对象的三大特性- 封装- 继承- 多态1 封装 - 封装就是对对象的成员进行访问限制- 封装的三个级别: - 公开,public - 受保护的,protected - 私有的,private - ...

  2. 【详记MySql问题大全集】三、安装之后没有my.ini配置文件怎么办

    系列目录 一.安装MySql 二.安装并破解Navicat 三.没有my.in配置文件怎么办 四.设置MySql的大小写敏感 五.重置MySql登陆密码 之前说过,Windows操作系统中,我们安装M ...

  3. 和我一起熟悉caffe2

    caffe2 是一个深度学习架构,它提供了一种简易快速的方法为让你能否迅速接触深度学习并能为社区贡献新的算法和模型.你可以把作品部署到有很强计算能力的GPU上,也可以把作品部署到有caffe2交叉编译 ...

  4. HBase之HRegionServer启动(含与HMaster交互)

    在我的博文<HBase——HMaster启动之一>.<HBase——HMaster启动之二>中已经详细介绍过HMaster在启动过程中调用的各种方法.下面,单就HRegionS ...

  5. 使用Redis中间件解决商品秒杀活动中出现的超卖问题(使用Java多线程模拟高并发环境)

    一.引入Jedis依赖 可以新建Spring或Maven工程,在pom文件中引入Jedis依赖: <dependency> <groupId>redis.clients< ...

  6. Java核心技术及面试指南 面向对象部分的面试题总结以及答案

    问题2.7.1,开放性问题,说一下你对面向对象思想的了解. 要点1,先说基础概念,比如面向对象思想包括封装.继承.多态,然后说些语法,比如可以通过extends继承类.通过implement来实现接口 ...

  7. Man方法

    Main方法相当一个主线程,JVM会自动寻找class文件中的main方法并执行(请思考tomcat加载java web项目启动的线程数和每次tomcat服务器接收到请求,是不是要发起一个线程去处理) ...

  8. mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer)

    一.概述 mysql 提供了很多参数来进行服务器的设置,当服务第一次启动的时候,所有启动参数值都是系统默认的.这些参数在很多生产环境下并不能满足实际的应用需求.在这个系列中涉及到了liunx 服务器, ...

  9. Redis 事物

    MULTI . EXEC . DISCARD 和 WATCH 是 Redis 事务的基础. Multi 和 Exec Multi:开启一个事务,它总是返回 OK .执行之后, 客户端可以继续向服务器发 ...

  10. 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库

    作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583] ...