ES6--(10)数组功能增强

2018-05-31  本文已影响0人  wangxia34

    ES6 延续了 ES5 的工作以便让数组更加有用。新增了两种创建数组的方式: Array.of() 方法、以及 Array.from() 方法

Array.of() 方法

    使用单个数值参数调用Array时,参数会作为数组的长度进行赋值。其他情况都是作为数组的项。Array.of()方法用于解决这个问题。

Array.from() 方法

    在 JS 中将非数组对象转换为真正的数组总是很麻烦。Array.from()方法可以将非数组对象转换成真正的数组。Array.from() 方法不仅可用于类数组对象,也可用于可迭代对象。

在ES5中转换arguments:

ES5中常规转换方法 ES5中使用slice转换

在ES6中转换arguments:

ES6中Array.from()方法

映射转换:

    (value) => value + 1 作为映射函数传递给了 Array.from() 方法。

    如果映射函数需要在对象上工作,你可以手动传递第三个参数给Array.from() 方法,从而指定映射函数内部的 this 值。

数组新增方法:

find() 与 findIndex() 方法

    ES5 增加了indexOf() 与 lastIndexOf() 方法,允许开发者在数组中查找特定值。ES6 引入的 find()与 findIndex() 方法,可以查找第一个匹配的值。

    find() 与 findIndex() 方法均接受两个参数:一个回调函数、一个可选值用于指定回调函数内部的 this 。该回调函数可接收三个参数:数组的某个元素、该元素对应的索引位置、以及该数组自身。find() 返回匹配到的值, findIndex()返回匹配到的索引。

copyWithin() 方法与 fill()方法

    fill()能使用特定值填充数组中的一个或多个元素。第一个参数为填充的值,第二个参数为填充的起始位置,第三个参数为填充的结束位置。

    copyWithin() 方法允许你在数组内部复制自身元素进行粘贴。第一个参数为从什么位置开始粘贴,第二个参数为从什么位置开始复制,第三个参数是从什么地方停止复制。

上一篇下一篇

猜你喜欢

热点阅读