ES6学习重难点总结(持续更新)
Symbol
1.Symbol.iterator
Symbol.iterator指向对象的默认遍历器方法:
String.prototype[Symbol.iterator]
//ƒ [Symbol.iterator]() { [native code] }
Array.prototype[Symbol.iterator]
//ƒ values() { [native code] }
Set.prototype[Symbol.iterator]
//ƒ values() { [native code] }
Map.prototype[Symbol.iterator]
//ƒ entries() { [native code] }
Set数据结构
1.数组去重的方法:
let arr = [1,1,2,2,2,3,1,2,4], _arr1, _arr2;
_arr1 = [...new Set(arr)]; //[1,2,3,4]
_arr2 = Array.from(new Set(arr)); //[1,2,3,4]
2.Set数据结构的实例的遍历方法:
keys()
:返回键名的遍历器values()
:返回键值的遍历器(Set的默认遍历器)Set.prototype[Symbol.iterator] === Set.prototype.values //true
entries()
:返回键值对的遍历器forEach()
:使用回调函数遍历每个成员
PS:展开运算符...内部调用的是for...of,for...of内部调用的是values遍历器,类数组对象是没有迭代器的,不能使用展开运算符。
Array
1.Array.from(arrayLike, mapFn, thisArg
)
arrayLike
想要转换成数组的伪数组对象或可迭代对象。
mapFn (可选参数)
如果指定了该参数,新数组中的每个元素会执行该回调函数。
thisArg (可选参数)
可选参数,执行回调函数 mapFn
时 this
对象
类数组对象:Array.from({0:42, 1:52, 2:63, length:3}) // [42, 52, 63] Array.from({length:4},(val,index)=>index) //[0,1,2,3]
字符串:Array.from('123') // ["1", "2", "3"]
数组:Array.from([1,2,3]) //[1, 2, 3]
Map:Array.from(new Map([['a','aaa'],['b','bbb']])) //[['a','aaa'],['b','bbb']]
Set:Array.from(new Set([1,1,2,2,2,3,4,4,5])) //[1, 2, 3, 4, 5]
ES6学习重难点总结(持续更新)的更多相关文章
- cocos2d-x学习资源汇总(持续更新。。。)
引用地址:http://www.cnblogs.com/zilongshanren/archive/2012/02/17/2356516.html 我之前一直学习c++的,第一次接触cocos2d是o ...
- iOS 开发学习资料整理(持续更新)
“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿 iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...
- Strus2学习记录整理【持续更新】
Strus2学习记录 以后的Strus2学习记录地址都会集合在这里,希望大家可以一起愉快学习,相互学习! Exception: 地址:http://www.cnblogs.com/gcs1995/p/ ...
- 【java】Java相关学习参考链接(持续更新)
How to do in java,https://howtodoinjava.com/,Java手册,分版本,并且有每个版本的新特性的详细解析. Java World,https://www.jav ...
- Go语言学习之路(持续更新中)
菜鸟 Go语言教程 教程(RUNOOB.COM):http://www.runoob.com/go/go-tutorial.html Go全球官网:https://golang.org/ (2018- ...
- 【JMeter性能测试】之学习资料总结(持续更新)
本人测试小白,总结一下JMeter性能测试相关文档进行转载学习,下面会贴出原文作者以示感谢: JMeter性能测试学习地址:http://www.ltesting.net/ceshi/open/kyx ...
- 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)
介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...
- cocos2d-x 学习资源整理(持续更新...)
生活像一把无情刻刀.改变了我们模样.以前我以为会亘古不变的东西,突然在一瞬间失去了信念... 假设你改变不了生活中患得患失的心情.那就试着让自己变得强大一点.由于能做到不以物喜不以己悲都是建立在强大的 ...
- 北理工机器人队RM视觉组学习参考汇总(持续更新中)
欢迎大家有意加入北理工机器人队参与到视觉组的工作中.在大家能够正式作为队员参与到视觉组的准备工作之前,北理机器人队需要对各位进行培训.这篇文章主要面向有志于参加机器人队视觉组的同学.同时,欢迎所有对相 ...
随机推荐
- MySQL常用的七种表类型(转)
MySQL常用的七种表类型(转) 其实MySQL提供的表类型截至到今天已经有13种,各有各的好处,但是民间流传的常用的应该是7种,如果再细化出来,基本上就只有两种:InnoDB.MyIASM两种. ...
- Angular7.1.4+Typescript3.1框架学习(一)
起因:学习ionic4之前先学习下angular+ts 以win10为开发平台:当前最新版本为angular7;根据官网资料做如下总结: 1. angular安装 前提:Node.js 的 8.x 或 ...
- 依赖注入框架Ninject
为什么需要依赖注入 我们提到MVC的一个重要特征是关注点分离(separation of concerns).我们希望应用程序的各部分组件尽可能多的相互独立.尽可能少的相互依赖. 我们的理想情况是:一 ...
- js生成二维码 qrcode
js生成二维码 QRcode npm 地址 1.安装qrcode //在项目文件夹中执行: npm install --save qrcode //或者,将其全局安装以使用qrcode命令行来保存qr ...
- 调试 kafka manager 源码
前提:可以上外网. kafka manager 是一款优秀的监控 kafka 的工具,采用 scala 语言编写,如何调试 kafka manager 呢? kafka manager 使用 play ...
- '假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为( ). void main( int argc, char *argv[]) { while(--argc>0) cout<<argv[argc]; cout<<"\n"; }
main(int argc,char *argv[])函数的两个形参,第一个int argc,是记录你输入在命令行(你题目中说的操作就是命令行输入)上的字符串个数:第二个*argv[]是个指针数组,存 ...
- mysql创建table
innodb 存储引擎,创建一个表 本文分析创建一个段.待叙,主要说明是如何创建一文件,并在文件中分配一个索引. 上面是创建一个表的调用图.创建文件和创建一个btr /**************** ...
- 第4天:scipy库
一.SciPy库概述 1.numpy提供向量和矩阵的相关操作,高级计算器 2.SciPy在统计.优化.插值.数值积分.视频转换等,涵盖基础科学计算相关问题. (额,对统计和概率,数理完全一窍不通) 3 ...
- http协议与https协议的前世今生
一.Http与Https的区别: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头 HTTP 是不安全的,而 HTTPS 是安全的 HTTP 标准端口是80 ...
- presto 函数中使用子查询
我们已知 在sql中子查询可以配合 in 或者 exists 来使用,但是如何把子查询的结果传给函数呢? 场景: 我们有一个 省份表 数据如下: id province 1 广东 2 ...