es6 语法 (set 和 map)
{
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)的更多相关文章
- es6语法详解
什么是ECMAScript? ECMAScript是浏览器脚本语言的规范,而我们熟知的js语言,如JavaScript则是规范的具体实现.es6就好比Java的jdk. 一.es6语法详解:let声明 ...
- ES6中Set 和 Map用法
JS中Set与Map用法 一.Set 1.基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. ...
- ES6语法知识
let/const(常用) let,const用于声明变量,用来替代老语法的var关键字,与var不同的是,let/const会创建一个块级作用域(通俗讲就是一个花括号内是一个新的作用域) 这里外部的 ...
- 在Node中使用ES6语法
Node本身已经支持部分ES6语法,但是import export,以及async await(Node 8 已经支持)等一些语法,我们还是无法使用.为了能使用这些新特性,我们就需要使用babel把E ...
- [bug] VUE 的 template 中使用 ES6 语法导致页面空白
如果你在 template 中,使用了 es6 及以上的语法,那么,在部分ios.安卓.微信浏览器中,打开页面后显示一片空白内容.如下: <ul id="example-1" ...
- webpack中使用babel处理es6语法
index.js const arr = [ new Promise(()=>{}), new Promise(()=>{}) ]; arr.map(item => { consol ...
- es6的Set和Map数据结构
Set 和 Map 数据结构 Set WeakSet Map WeakMap Set § ⇧ 基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set ...
- 关于安卓浏览器无法识别es6语法
这几天写代码,在highcharts的代码里用了一些es语法 在PC端及iphone上都能正常运行,在安卓上无法显示 一直不知道什么原因.后来一点点查看才发现是下面的两句es6代码 1: .map(i ...
- 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语法转换器 ...
- 使用babel转码器,让浏览器支持es6语法
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,可是很多浏览器并不支持es6语法,所以我们需要一个转码工具, 把es6的语法转换成浏览器支持的javascr ...
随机推荐
- deepin安装docker
deepin在debian的基础上进行了一些修改,因此导致按照debian的安装指引是很难安装上docker的. 最近想学习docker,故尝试了安装docker(个人使用:deepin15.7桌面版 ...
- 利用vi编辑器创建和编辑正文文件(一)
1. vim是vi的升级版本. 2. vi所UNIX和Linux系统内嵌的标准文编辑器,可执行,修改,复制,移动,粘贴和删除正文等命令,也可以进行移动光标,搜索字符和退出vi的 ...
- 解决svn图标不显示(绝对有用)
经常遇到svn图标不显示的问题,然后经过长时间的查找终于找到了一个最最管用的办法,在这里分享给的大家
- Github page搭建博客使用自定义插件的方法
Github page的后台程序是由Jekyll搭建,但由于Github的保护措施,非认证的plugin一般不会被Github page支持,但可以使用一些小技巧来绕过屏蔽. 以个人page为例,个人 ...
- Maven内置属性、POM属性
1.内置属性(Maven预定义,用户可以直接使用) ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本; ${project.basedir}同${ ...
- zabbix-proxy使用配置
简介 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...
- linux 命令 — find
find 基本形式 find base_path base_path可以是任何目录,find会从该目录开始往下寻找 find . -print 列出当前目录下所有的文件和目录,以'\n'作为分隔符 f ...
- Python数据科学“冷门”库
Python是一种神奇的语言.事实上,它是近几年世界上发展最快的编程语言之一,它一次又一次证明了它在开发工作和数据科学立场各行业的实用性.整个Python系统和库是对于世界各地的用户(无论是初学者或者 ...
- MySQL索引建立和使用的基本原则
合理设计和使用索引 在关键字段的索引上,建与不建索引,查询速度相差近100倍. 差的索引和没有索引效果一样. 索引并非越多越好,因为维护索引需要成本. 每个表的索引应在5个以下,应合理利用 ...
- SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
错误:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String ...