ES6 延续了 ES5 的工作以便让数组更加有用。新增了两种创建数组的方式: Array.of() 方法、以及 Array.from() 方法
Array.of() 方法
使用单个数值参数调用Array时,参数会作为数组的长度进行赋值。其他情况都是作为数组的项。Array.of()方法用于解决这个问题。
Array.from() 方法
在 JS 中将非数组对象转换为真正的数组总是很麻烦。Array.from()方法可以将非数组对象转换成真正的数组。Array.from() 方法不仅可用于类数组对象,也可用于可迭代对象。
在ES5中转换arguments:
在ES6中转换arguments:
映射转换:
(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() 方法允许你在数组内部复制自身元素进行粘贴。第一个参数为从什么位置开始粘贴,第二个参数为从什么位置开始复制,第三个参数是从什么地方停止复制。