Array.from()

Array.from()方法用于将类似数组的对象可遍历的对象转为真正的数组。

而扩展运算符只能将部署了Iterator接口的对象(可遍历对象)转换成数组。

可转换对象包括:

  1. 类数组对象DOM集合
  2. 类数组对象arguments
  3. 部署了Iterator接口的Set和Map

Array.of()

Array.of()方法用于将一组值转换为数组。因为数组的构造函数Array()在传入一个或多个参数时,创建的行为有差异。

find()方法和findIndex()方法

用于找出第一个符合条件的数组成员,它的第一个参数是回调函数,可用于自定义查找方法。第二个参数可用于绑定this。它们都可以发现NaN,用于替代indexOf。

1
2
[NaN].indexOf(NaN);//-1
[NaN].findIndex(n => Object.is(NaN, n));//0

keys(),values()和entries()方法

用于返回遍历器对象,可以使用for…of循环遍历。默认调用values()方法返回遍历器对象。

includes()

用于表示某个数组是否包含给定值,可用于代替indexOf(),在不需要回调函数增加查找条件时,用includes()代替findIndex()。

1
[NaN].includes(NaN);//true