es6笔记5^_^set、map、iterator】的更多相关文章

概要 字典是用来存储不重复key的Hash结构.不同于集合(Set)的一点,字典使用的是[key,value]的形式来存储数据. JavaScript的对象(Object:{})只能用字符串当做key.使用起来有一定限制. 为了解决这个问题,ES6提供的Map数据结构.它类似与对象,也是[key,value]的集合,但是key的范围不限于字符串,各种类型的值(包括对象)都可以当做key. 也就是说Object结构提供了 "字符串--值"的对应: Map提供了"值--值&quo…
系列文章 -- ES6笔记系列 搞ES6的人也是够无聊,把JS弄得越来越像Java.C++,连Iterator迭代器.Set集合.Map结构都出来了,不知道说什么好... 一.简单使用 1. iterator 学过C++的人应该知道这是个迭代器对象,拥有一个指针,指向数据结构中的某个成员 JS中的iterator也有类似的功能,JS内部为一些数据结构实现了iterator迭代器的接口,让我们可以方便的使用 var [a, b, ...c] = [1, 2, 3, 4]; c // [3, 4]…
参考书<ECMAScript 6入门>http://es6.ruanyifeng.com/ Set和Map数据结构 1.Set  基本用法    Set是一种新的数据结构,它的成员都是唯一的不重复的.    let s1 = new Set();    s1.add({"name":"123"});    s1 // Set(1){{"name":"123"}} let s2 = new Set([1,2,3,4,…
1 基本用法 Map类型是键值对的有序列表,而键和值都可以是任意类型.可以看做Python中的字典(Dictionary)类型. 1.1 创建方法 Map本身是一个构造函数,用来生成Map实例,如: let m1 = new Map() 1.2 初始化 Map构造函数可以接收一个数组作为参数,该数组的成员可以是一组表示键值对的数组.也可以是任何具有 Iterator 接口.且每个成员都是一个双元素的数组的数据结构.如: let map = new Map([ ['name', 'zhang'],…
ES6,即ECMAScript 6.0,ES6的第一个版本是在2015年发布的,所以又称作ECMAScript 2015 如今距ES6发布已经一年多的时间,这时候才去学,作为一个JSer,羞愧羞愧,还是尽早去学习吧 主要参照阮一峰的 ES6标准入门 及其他资料,系统地学习ES6,好记星不如烂笔头,记录一下成文 以下为系列文章 ES6笔记(1)-- 环境配置支持  ES6笔记(2)-- let的块级作用域  ES6笔记(3)-- 解构赋值  ES6笔记(4)-- Symbol类型  ES6笔记(5…
系列文章 -- ES6笔记系列 解构赋值,即对某种结构进行解析,然后将解析出来的值赋值给相关的变量,常见的有数组.对象.字符串的解构赋值等 一.数组的解构赋值 function ids() { return [1, 2, 3]; } var [id1, id2, id3] = ids(); console.log(id1, id2, id3); // 1 2 3 如上,解析返回的数组,取出值并赋给相应的变量,这就是解构赋值 1. 还可以嵌套多层,只要相应的模式匹配了就能解析出来 var [a,…
系列文章 -- ES6笔记系列 接触过Ajax请求的会遇到过异步调用的问题,为了保证调用顺序的正确性,一般我们会在回调函数中调用,也有用到一些新的解决方案如Promise相关的技术. 在异步编程中,还有一种常用的解决方案,它就是Generator生成器函数.顾名思义,它是一个生成器,它也是一个状态机,内部拥有值及相关的状态,生成器返回一个迭代器Iterator对象,我们可以通过这个迭代器,手动地遍历相关的值.状态,保证正确的执行顺序. 一.简单使用 1. 声明 Generator的声明方式类似一…
STL笔记(1)map STL之map ZZ from http://hi.baidu.com/liyanyang/blog/item/d5c87e1eb3ba06f41bd576cf.html 1.map中的元素其实就是一个pair. 2. map的键一般不能是指针, 比如int*, char*之类的, 会出错. 常用的就用string了,int也行. 3. map是个无序的容器, 而vector之类是有序的. 所谓有序无序是指放入的元素并不是按一定顺序放进去的, 而是乱序, 随机存放的(被映…
前面的话 在ES6标准制定以前,由于可选的集合类型有限,数组使用的又是数值型索引,因而经常被用于创建队列和栈.如果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集合的早期实现.本文将详细介绍ES6中的set和map集合 引入 Set集合是一种无重复元素的列表,开发者们一般不会逐一读取数组中的元素,也不太可能逐一访问Set集合中的每个元素,通常的做法是检测给定的值在某个集合中是否存在 Map集合内含多组键值对,集合中每个元素分别存放着可访问的键名和它对应的值,…
本文实例讲述了ES6学习笔记之Set和Map数据结构.分享给大家供大家参考,具体如下: 一.Set ES6提供了新的数据结构Set.类似于数组,只不过其成员值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. 1 . Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化. 1 2 3 4 5 var s = new Set(); var set = new Set([1, 2, 3, 4, 4]); [...set]  // [1, 2, 3, 4] v…