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);
}