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学习重难点总结(持续更新)的更多相关文章

  1. cocos2d-x学习资源汇总(持续更新。。。)

    引用地址:http://www.cnblogs.com/zilongshanren/archive/2012/02/17/2356516.html 我之前一直学习c++的,第一次接触cocos2d是o ...

  2. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  3. Strus2学习记录整理【持续更新】

    Strus2学习记录 以后的Strus2学习记录地址都会集合在这里,希望大家可以一起愉快学习,相互学习! Exception: 地址:http://www.cnblogs.com/gcs1995/p/ ...

  4. 【java】Java相关学习参考链接(持续更新)

    How to do in java,https://howtodoinjava.com/,Java手册,分版本,并且有每个版本的新特性的详细解析. Java World,https://www.jav ...

  5. Go语言学习之路(持续更新中)

    菜鸟 Go语言教程 教程(RUNOOB.COM):http://www.runoob.com/go/go-tutorial.html Go全球官网:https://golang.org/ (2018- ...

  6. 【JMeter性能测试】之学习资料总结(持续更新)

    本人测试小白,总结一下JMeter性能测试相关文档进行转载学习,下面会贴出原文作者以示感谢: JMeter性能测试学习地址:http://www.ltesting.net/ceshi/open/kyx ...

  7. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)

    介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...

  8. cocos2d-x 学习资源整理(持续更新...)

    生活像一把无情刻刀.改变了我们模样.以前我以为会亘古不变的东西,突然在一瞬间失去了信念... 假设你改变不了生活中患得患失的心情.那就试着让自己变得强大一点.由于能做到不以物喜不以己悲都是建立在强大的 ...

  9. 北理工机器人队RM视觉组学习参考汇总(持续更新中)

    欢迎大家有意加入北理工机器人队参与到视觉组的工作中.在大家能够正式作为队员参与到视觉组的准备工作之前,北理机器人队需要对各位进行培训.这篇文章主要面向有志于参加机器人队视觉组的同学.同时,欢迎所有对相 ...

随机推荐

  1. 关于footer 小于一屏还要在底部显示的思考

    首先想到了页面是动态的  就是js 计算 但是有一个简单的方法就是 运用定位 1 footer 的祖先元素没有定位属性 absoulite (这样他就会相对于文档定位) left:0 bottom : ...

  2. OO的奇妙冒险1

    OO的奇妙冒险 ~OOP入门与字符串处理~ 目录 总体分析 作业内容分析 作业内容总结 互测的收获 公测互测bug分析与总结 不太正经的个人自嗨 总体分析 公测 中测(基础与进阶): 其实在我看来,从 ...

  3. angular实操

    一.创建angular工程(一定要在管理员权限下运行,Windows可忽略) 1.安装angular CLi 在终端窗口打开想要创建的工程所在文件夹,如:Cd Desktop\Angular-proj ...

  4. ThreadLocal之我所见

    网上有很多关于ThreadLocal的文章,大部分都提到了多线程之间共享资源的问题.其实ThreadLocal和多线程之间一点关系都没有.如果有,我怕是它的名字改成ThreadShare是不是更合适呢 ...

  5. jenkins log文件突然占满磁盘空间

    今天早上同事反应jenkins构建job发生异常,于是登录机器查看发现磁盘空间已满.进一步排查之后发现jenkins的catalina.out文件已占满磁盘空间. 用tail看了下日志后面都是关于DN ...

  6. NumberFormatException: Invalid int类型不匹配异常——使用SQL数据库查询语句select * from blacknumber order by _id desc limit ?,20;出现

    异常:类型不匹配 05-06 08:12:38.151: E/AndroidRuntime(14904): java.lang.NumberFormatException: Invalid int: ...

  7. 利用本地浏览器远程服务器上的jupyter notebook

    windows中访问远程服务器的方式有很多种:使用windows系统自带的网络功能,直接输入服务器地址访问:使用putty软件远程访问:使用xftp软件登陆:还可以使用x2go客户端图形界面远程访问. ...

  8. myBatis xml if、where、if-else?、foreach 心得

    MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦.例如拼接时要确保不能忘记添加必要的空格,还要注意去掉 ...

  9. error: 'retain' is unavailable: not available in automatic reference counting. 解决办法

    报错原因是 项目使用的是ARC,但是有非ARC代码. 项目中要混合使用ARC和非ARC. 解决: target -> Build Phases -> Compile Sources 双击报 ...

  10. Visual Studio+VAssistX自动添加注释,函数头注释,文件头注释

    转载:http://blog.csdn.net/xzytl60937234/article/details/70455777 在VAssistX中为C++提供了比较规范注释模板,用这个注释模板为编写的 ...