一、array.of方法
JavaScript中Array对象是一个全局对象,可在所有位置进行调用。Array.of()方法创建一个具有可变数量参数的新数组实例。该方法有点类似于Array构造函数,但是Array的参数个数是确定的,而Array.of()的参数个数是可变的。
// Array.of方法示例 console.log(Array.of(1, 2, 3)); // [1, 2, 3] console.log(Array.of("a", "b", "c")); // ["a", "b", "c"] console.log(Array.of(3)); // [3] console.log(Array.of(undefined)); // [undefined]
我们可以发现,Array.of()方法可以接受任意数量的参数,并将它们全部放入一个新的数组对象中返回。
二、array.of的作用
在JavaScript开发中,我们常常需要创建一个新的数组。而Array.of()方法的作用就是为我们提供了一种简便的方法来创建新的数组实例,并且可以自由地添加任意数量的参数。
相较于Array构造函数,Array.of()方法可以避免由于参数数量和类型不同带来的问题,如下面的代码示例所示:
// Array构造函数示例 console.log(Array(1, 2, 3)); // [1, 2, 3] console.log(Array("a", "b", "c")); // ["a", "b", "c"] console.log(Array(3)); // [ , , ] console.log(Array(undefined)); // [undefined]
我们可以发现,Array构造函数对于不同的参数个数、类型会产生不同的结果,并且在不传递参数时,会自动创建一个长度为0的数组。
三、array.of和from
在ES6之前,我们通常使用Array对象的原型方法from()来创建新的数组实例。那么,array.of和from有何区别呢?
首先,如果我们只需要一个新的数组实例,在语法上使用from和of的差别并不大。但是,传递单一参数给from方法会构建一个只有单一参数的数组,而我们希望得到一个只有一个元素的数组。这也是使用of方法的主要原因。
// Array.from方法示例 console.log(Array.from("hello")); // ["h", "e", "l", "l", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // [2, 4, 6] console.log(Array.from({ length: 3 }, (_, i) => i)); // [0, 1, 2] // Array.of方法示例 console.log(Array.of(2)); console.log(Array.of(2, 3)); console.log(Array.of(2, "hello", { length: 2 }));
我们可以发现,使用Array.from方法和Array.of方法都可以完成创建数组的任务,但是from方法的参数必须是一个类似数组或者可迭代对象,而of方法则不需要,只需要传递任意数量的参数即可。
四、array.of方法的作用
我们可以发现,array.of方法可以完成以下任务:
- 创建一个新的数组实例
- 任意数量的参数都能够被添加到新数组中
- 避免由于参数数量和类型不同带来的问题
- 可以单独使用,不需要一个类似数组或者可迭代对象
文章结束啦!希望本文可以对你学习Array.of方法有所帮助。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/197412.html