JavaScript Array.of()

摘要:在本教程中,您将学习如何使用 ES6 中的 JavaScript Array.of() 方法来改进数组构造。

JavaScript Array.of() 方法简介

在 ES5 中,当您向 Array 构造函数传递一个数字时,JavaScript 会创建一个长度等于该数字的数组。例如

let numbers = new Array(2);
console.log(numbers.length); // 2
console.log(numbers[0]); // undefinedCode 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]); // 3Code 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() 方法来改进数组构造。

本教程是否有帮助?