JavaScript Array.of 方法
在本教程中,您将学习如何使用JavaScript ES6 的 Array.of() 方法构造数组
在本教程中,您将学习如何使用JavaScript ES6 的 Array.of()
方法构造数组。
JavaScript Array.of() 方法简介
在 ES5 ,当您将数字传递给 Array 构造函数时,JavaScript 会创建一个长度等于该数字的数组。例如:
let numbers = new Array(2);
console.log(numbers.length); // 2
console.log(numbers[0]); // undefined
但是,当您向 Array
构造函数传递一个非数字值时,JavaScript 会创建一个数组,其中包含具有该值的一个元素。例如:
numbers = new Array("2");
console.log(numbers.length); // 1
console.log(numbers[0]); // "2"
这种行为有时会令人困惑并且容易出错,因为您可能不知道传递给 Array
构造函数的数据类型。
ES6 引入 Array.of()
来解决这个问题。Array.of()
方法与 Array
构造函数类似, 只是 Array.of()
方法不会特殊对待单个数值。
换句话说,Array.of()
方法始终创建一个数组,其中包含您传递给它的值,无论参数的类型或数量如何。
Array.of()
方法的语法如下所示:
Array.of(element0[, element1[, ...[, elementN]]])
JavaScript Array.of()
示例
请阅读以下示例:
let numbers = Array.of(3);
console.log(numbers.length); // 1
console.log(numbers[0]); // 3
在此示例中,我们将数字 3 传递给 Array.of()
方法。Array.of()
方法将会创建一个由一个数字组成的数组。
考虑以下示例:
let chars = Array.of('A', 'B', 'C');
console.log(chars.length); // 3
console.log(chars); // ['A','B','C']
在此示例中,我们通过将 'A'
、'B'
和 'C'
传递给 Array.of()
方法来创建一个包含三个字符串的数组。数组的大小为 3。
JavaScript Array.of()
polyfill 垫片
如果您在不支持 Array.of()
方法的 JavaScript 环境执行,您可以使用以下语句作为 Array.of()
垫片,在全局作用域增加 Array.of()
的支持:
if (!Array.of) {
Array.of = function() {
return Array.prototype.slice.call(arguments);
};
}
结论
在本教程中,您学习了如何使用JavaScript ES6 的的 Array.of()
方法改进数组构造。