MST
星途 面试题库

面试题:JavaScript数组创建时优化性能的常规方式有哪些

在JavaScript中,创建数组时为了优化性能,通常有哪些常见的方式?请至少列举3种,并简单说明每种方式的适用场景。
38.3万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 使用数组字面量

    • 示例const arr = [1, 2, 3];
    • 适用场景:当你明确知道数组的初始元素且元素数量相对固定时,使用数组字面量是最佳选择。它简洁明了,在运行时创建数组的性能较高,因为JavaScript引擎可以在解析代码时直接预定义数组结构。例如在定义配置项数组,如const colors = ['red', 'green', 'blue'];
  2. 使用new Array()构造函数并指定长度

    • 示例const arr = new Array(10);
    • 适用场景:当你需要创建一个已知长度的空数组,后续会逐个填充元素时适用。比如你要创建一个长度为100的数组,用来存放后续计算得到的数值,先通过new Array(100)创建数组,后续再用循环填充。但要注意,如果传入多个参数,new Array()会将参数作为数组元素,而不是数组长度,如new Array(1, 2, 3)创建的数组元素是1, 2, 3 。
  3. 使用Array.from()方法

    • 示例const iterable = {0: 'a', 1: 'b', 2: 'c', length: 3}; const arr = Array.from(iterable);
    • 适用场景:当你有一个类数组对象(具有length属性且元素可按索引访问)或者可迭代对象(如SetMap),需要将其转换为真正的数组时使用。例如将Set转换为数组:const set = new Set([1, 2, 3]); const arr = Array.from(set);
  4. 使用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的空数组。