JS数组中Array.of()方法的使用

Array.of()方法的使用:

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

const a = Array.of(2,4,6,8);
console.log(a);         // [2,4,6,8]

const b = Array.of(1);
console.log(b);         // [1]

const c = Array.of(1).length;
console.log(c);         // 1

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

const aa = Array();
console.log(aa);        // []

const bb = Array(3);
console.log(bb);        // [, , ,]

const cc = Array(2,4,6,8);
console.log(cc);        // [2,4,6,8]

  

上面代码中,Array()方法没有参数、只有一个参数或有多个参数时,返回的结果是都不一样的。只有当参数个数不少于2个时,Array()才会返回由参数组成的新数组。参数个数只有1个时,实际上是指定了数组的长度。

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

const aaa = Array.of();
console.log(aaa);       // []

const bbb = Array.of(1);
console.log(bbb);       // [1]

const ccc = Array.of(1,2);
console.log(ccc);       // [1,2]

const ddd = Array.of(undefined);
console.log(ddd);       // [undefined]

  

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

Array.of()可以用以下的代码模拟实现:

function ArrayOf() {
    return [].slice.call(arguments);
}
原文地址:https://www.cnblogs.com/littleSpill/p/12003388.html