es6新增的Array.of()方法

Array.of()方法

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

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

Array.of总是返回参数值组成的数组。如果没有参数,就返回一个空数组。

这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异

Array() // []
Array(3) // [, , ,]
Array(3, 11, 8) // [3, 11, 8]

 如果参数是空值没区别,

如果是一位参数数值1,Array.of()返回当前值的数组 [1] ,Array()返回1个空值

如果是一位参数数值3,Array.of()返回当前值的数组 [3] length是1 ,Array()返回3个空值 length 是 3 

如果传入的是1,2,3,Array.of()和Array()都返回当前值的数组 [1, 2, 3].

如果传入的是undefined和null那么都返回 [ undefined ] 和 [ null ]  ;

如果传入的是NaN Array.of() 返回的是 [ NaN ] , Array()则会报错

Array.of()    //[]
Array()    //[]

Array.of(1)    //[1]
Array(1)        //[empty] == 空值

Array.of(3)    // [3]
Array(3)        /(3) [empty × 3]

Array.of(3).length    // 1
Array(3).length        //3

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

Array.of(NaN)        //[NaN]
Array(NaN)        // 报错

Array.of基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一。

Array.of() // []
Array.of(undefined) // [undefined]
Array.of(1) // [1]
Array.of(1, 2) // [1, 2]

语法:

Array.of(element0[, element1[, ...[, elementN]]])

参数:

elementN  一> 任意个参数,将按顺序成为返回数组中的元素。 

返回值:

新的数组实例

兼容性:

   此方法不兼容IE,如果需要兼容性用以下代码模拟

function ArrayOf(){
return [].slice.call(arguments);
}

猜你喜欢

转载自blog.csdn.net/qq_41702660/article/details/81977553