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 ...
随机推荐
- FTP--FileZilla-主动模式和被动模式
PORT 主动模式: 用户主机一个随机端口连接FTP SERVER的TCP21端口进行协商: 用户主机告诉FTP SERVER,我的XXXX端口已经打开,你可以放心大胆的连过来: 然后FTP SERV ...
- Ansible工具原理一
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命 ...
- Connect By
connect by 用于存在父子,祖孙,上下级等层级关系的数据表进行层级查询. 语法格式: { CONNECT BY [ NOCYCLE ] condition [AND condition]... ...
- js对象之XMLHttpReques对象学习
背景:业务需求是,一个前端(手机和浏览器)HTML页面中有图片,按钮......,需要统计用户点击图片或者按钮的次数. 前端实现:通过一个js来统计HTML页面中所有的图片和按钮对象,并给每个对象赋予 ...
- Effective Java 第三版——60. 需要精确的结果时避免使用float和double类型
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- Spring Cloud微服务如何设计异常处理机制?
导读 今天和大家聊一下在采用Spring Cloud进行微服务架构设计时,微服务之间调用时异常处理机制应该如何设计的问题.我们知道在进行微服务架构设计时,一个微服务一般来说不可避免地会同时面向内部和外 ...
- 《你不知道的JavaScript(中卷)》读书笔记
中卷有点无聊,不过也是有干货的,但是好像要背一下的样子.不过作者大大都夸我是“优秀的开发人员”了,肯定要看完呀~~ 开发人员觉得它们太晦涩,很难掌握和运用,弊(导致bug)大于利(提高代码可读性).这 ...
- Thrift架构介绍
Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目.Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型, ...
- Go signals 信号
Go中通过os/signals包,可以接受系统信号. package main import "fmt" import "os" import "os ...
- 1.Magicodes.NET框架之路——起航
1.Magicodes.NET框架之路--起航 前言 从事开发也好几年了,并且最近一直在做架构搭建的工作.这些时间,最大的感悟就是: 只有自己理解了的才是自己的. 对架构这块,若欲立之,必先破之. 故 ...