摘要:在本教程中,您将学习如何使用 ES6 中的 JavaScript Array.of()
方法来改进数组构造。
JavaScript Array.of() 方法简介
在 ES5 中,当您向 Array 构造函数传递一个数字时,JavaScript 会创建一个长度等于该数字的数组。例如
let numbers = new Array(2);
console.log(numbers.length); // 2
console.log(numbers[0]); // undefined
Code language: JavaScript (javascript)
但是,当您向 Array
构造函数传递一个非数字的值时,JavaScript 会创建一个包含一个包含该值的元素的数组。例如
numbers = new Array("2");
console.log(numbers.length); // 1
console.log(numbers[0]); // "2"
Code language: JavaScript (javascript)
这种行为有时会令人困惑且容易出错,因为您可能不知道传递给 Array
构造函数的数据类型。
ES6 引入了 Array.of()
方法来解决此问题。
Array.of()
方法类似于 Array
构造函数,除了 Array.of()
方法不将单个数字值视为特殊情况。
换句话说,Array.of()
方法始终创建一个包含您传递给它的值的数组,而不管类型或参数数量如何。
以下是 Array.of()
方法的语法
Array.of(element0[, element1[, ...[, elementN]]])
Code language: CSS (css)
JavaScript Array.of() 示例
请看以下示例
let numbers = Array.of(3);
console.log(numbers.length); // 1
console.log(numbers[0]); // 3
Code language: JavaScript (javascript)
在此示例中,我们将数字 3 传递给 Array.of()
方法。Array.of()
方法创建一个包含一个数字的数组。
请考虑以下示例
let chars = Array.of('A', 'B', 'C');
console.log(chars.length); // 3
console.log(chars); // ['A','B','C']
Code language: JavaScript (javascript)
在此示例中,我们通过将 'A'
、'B'
和 'C'
传递给 Array.of()
方法,创建了一个包含三个字符串的数组。数组的大小为 3。
JavaScript Array.of() polyfill
如果您在不支持 Array.of()
方法的环境中执行 JavaScript 代码,则可以使用以下 polyfill
if (!Array.of) {
Array.of = function() {
return Array.prototype.slice.call(arguments);
};
}
Code language: JavaScript (javascript)
在本教程中,您学习了如何使用 ES6 中的 JavaScript Array.of()
方法来改进数组构造。
本教程是否有帮助?