myfreax

JavaScript Array.of 方法

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

JavaScript Array.of 方法
JavaScript 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()  方法改进数组构造。

内容导航