面试题答案
一键面试-
使用数组字面量
- 示例:
const arr = [1, 2, 3];
- 适用场景:当你明确知道数组的初始元素且元素数量相对固定时,使用数组字面量是最佳选择。它简洁明了,在运行时创建数组的性能较高,因为JavaScript引擎可以在解析代码时直接预定义数组结构。例如在定义配置项数组,如
const colors = ['red', 'green', 'blue'];
- 示例:
-
使用
new Array()
构造函数并指定长度- 示例:
const arr = new Array(10);
- 适用场景:当你需要创建一个已知长度的空数组,后续会逐个填充元素时适用。比如你要创建一个长度为100的数组,用来存放后续计算得到的数值,先通过
new Array(100)
创建数组,后续再用循环填充。但要注意,如果传入多个参数,new Array()
会将参数作为数组元素,而不是数组长度,如new Array(1, 2, 3)
创建的数组元素是1, 2, 3 。
- 示例:
-
使用
Array.from()
方法- 示例:
const iterable = {0: 'a', 1: 'b', 2: 'c', length: 3}; const arr = Array.from(iterable);
- 适用场景:当你有一个类数组对象(具有
length
属性且元素可按索引访问)或者可迭代对象(如Set
、Map
),需要将其转换为真正的数组时使用。例如将Set
转换为数组:const set = new Set([1, 2, 3]); const arr = Array.from(set);
- 示例:
-
使用
Array.of()
方法- 示例:
const arr = Array.of(1, 2, 3);
- 适用场景:无论传入参数的数量和类型如何,
Array.of()
都会将所有参数作为数组元素创建数组。它与new Array()
不同,new Array()
在传入单个数字参数时会将其视为数组长度。当你想确保传入的参数都作为数组元素创建数组时,使用Array.of()
。如Array.of(1)
创建的数组元素是1,而new Array(1)
创建的是长度为1的空数组。
- 示例: