ES2015数组扩展 - Array.from()
来源:互联网 发布:打字用什么软件 编辑:程序博客网 时间:2024/06/11 08:07
Array.from
方法用于把两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。
下面是一个类似数组的对象,Array.from
将它转为真正的数组
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
实际应用中,常见的类似数组的对象是DOM操作返回的NodeList集合,以及函数内部的arguments
对象,Array.from
都可以把它们转为真正的数组。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
上面的代码中,querySelectorAll
方法返回的是一个类似数组的对象,只有讲这个对象转为真正的数组,才能使用forEach
方法。
只要是部署了Iterator接口的数据结构,Array.from
都能将其转为数组
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
上面的代码中,字符串和Set结构都具有Iterator接口,因此可以被Array.from
转为真正的数组。
所谓类似数组的对象,本质特征只有一点,即必须有length
属性。因此,任何有length
属性的对象,都可以通过Array.from
方法转为数组
- 1
- 2
- 1
- 2
对于还没有部署该方法的浏览器,可以用Array.prototype.slice
方法替代
- 1
- 1
Array.from
还可以接受第二个参数,作用类似于数组的map
方法,用来对每个元素进行处理,讲处理后的值放入返回的数组
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
Array.from()
的另一个应用是,将字符串转为数组,然后返回字符串的长度。因为它能够处理各种Unicode字符,可以避免JavaScript将大于\uFFFF
的Unicode字符,算作是两个字符的bug
0 0
- ES2015数组扩展 - Array.from()
- ES2015数组扩展 - Array.from()
- ES2015数组扩展
- ES2015数组拓展 - Array.of()
- ES2015数组拓展 - Array.of()
- ES6-数组的扩展-Array.from()
- ES2015 - Array (4)
- ES2015字符串的扩展
- ES2015字符串的扩展
- ES2015字符串的扩展
- ES2015函数扩展
- JS数组Array from 标签
- js Array 数组方法扩展
- ES2015数组拓展
- 数组之Remove Duplicates from Sorted Array
- 数组 Remove Duplicates from Sorted Array
- 数组 Remove Duplicates from Sorted Array II
- leetcode:数组:Remove Duplicates from Sorted Array
- 指针函数与函数指针
- Gradle的简介与安装
- Linux 下 UltraEdit 版本: 16.1.0.18 破解 30 天试用限制
- poj1208
- JavaCore/HeapDump文件分析工具
- ES2015数组扩展 - Array.from()
- 处理数据中的空格问题
- Python安装pymssql
- CentOs中端口的相关方法
- Android开发——inflater
- JavaCore/HeapDump文件及其分析方法
- css 定位
- 去除安卓导航栏和状态栏的方法
- linux下面查看jvm性能相关信息的一些命令