静态方法

Array.isArray()

用于判断值是否是一个数组,返回一个布尔值。

  1. Array.isArray(1) // false
  2. Array.isArray([1]) // true

Array.from()

将两类对象转化为真正的数组
Array.from可以将两类对象转化为真正的数组,一类是类数组对象,一类是可迭代对象(iterable,如Set,Map)。

  1. function toArray(arrayLikeOrLiterable){
  2. return Array.from(arrayLikeOrLiterable)
  3. }

映射转换
如果你想实行进一步的数组转换,你可以向 Array.from()方法传递一个映射用的函数作为第二个参数。此函数会将数组对象的每一个值转换为目标形式,并将其存储在目标数组的对应位置上。

  1. function arg() {
  2. return Array.from(arguments, value => value + 1);
  3. }
  4. console.log(arg('arr', 26')); // ['arr1',27]

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

  1. const helper = {
  2. diff: 1,
  3. add(value) {
  4. return value + this.diff;
  5. }
  6. }
  7. function arg() {
  8. return Array.from(arguments, helper.add, helper);
  9. }
  10. console.log(arg('arr', 26)); // ['arr1', 27]

Array.of()

这个方法的主要目的,是帮助开发者在使用 Array 构造器时避开 js 语言的一个怪异点。因为当Array的参数为一个数值时,其指的是数组的长度而非数组元素。

  1. Array(3) // [, , ,]

Array.of方法用于将一组值,转换为数组。

  1. Array.of(3) // [3]
  2. Array.of(3, 11, 8) // [3,11,8]
  3. Array.of() // []