ES6学习笔记(二)——数组的扩展
扩展运算符 ...
将数组转化成用逗号分隔的参数序列
* 扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换。
应用
1. 合并数组
2. 将字符串转化成数组
3. 与解构赋值结合(如果用于数组赋值,只能放在参数的最后一位,否则报错)
Array.from()
将类数组对象(array-like-object) 和 可遍历(iterable)对象转换成数组。
Array.from()
lets you create Arrays
from:
- array-like objects (objects with a
length
property and indexed elements) or - iterable objects (objects where you can get its elements, such as
Map
andSet
).
from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from
需要注意的是,类数组对象的属性必须是索引,而且要从0开始,因为转换的时候会根据属性的索引值来觉得产生的数组中元素的对应位置,如下:
首先定义了 length 属性为 3 (虽然对象的属性长度为 4),决定了产生的数组长度,然后根据源对象的属性作为索引,0 对应的元素为空,因此数组对应的位置是 undefined。
所谓类似数组的对象,本质特征只有一点,即必须有length属性。因此,任何有length属性的对象,都可以通过Array.from方法转为数组,而此时扩展运算符就无法转换。
使用 Array.from() 也可以很方便地将字符串转化成数组
Array.of()
将一组值转换成数组,总是返回参数值组成的数组。如果没有参数,就返回一个空数组。
find(value, index, arr)
找出第一个符合条件的数组成员,并返回,否则返回 undefined
findIndex()
找出第一个符合条件的数组成员的位置,并返回位置,否则返回 -1
includes()
检查数组中是否包含制定的值,可以代替 indexOf() 使用
参考:http://es6.ruanyifeng.com/#docs/array
最新文章
- 交通银行 Java Socket 服务启动 管理 WINDOWS 版
- CSS ID选择器(三)
- Interview How to Count Squares
- 【BOZJ 1901】Zju2112 Dynamic Rankings
- PHP配置图文教程
- 关于lucene的IndexSearcher单实例,对于索引的实时搜索
- hdu 4135 Co-prime(容斥)
- 玩转kindle paperwhite: 如何越狱,安装强大外挂软件koreader
- js获取最近几天的日期(转载)
- phantomjs初次认识
- Unity3D中的函数方法及解释
- ubuntu下 将证书导入java的cacerts证书库
- PG数据库——视图
- php 添加环境变量
- @property使用
- Spatial Sound Research
- MySQL一问一答
- C#学习笔记(十五):抽象方法、抽象类、多态和接口
- [C#学习笔记]类型对象指针和同步块索引
- Django之环境搭建