本文详细介绍了 JavaScript 中清空数组的三种常见方法,并对它们的实现机制、使用场景和性能表现进行了系统分析与对比。文章内容基于原有知识共享协议进行扩展与改编,结构清晰,适用于前端开发者和 JavaScript 学习者。


📌 一、清空数组的三种方法

方法一:使用 splice() 方法

splice() 方法通过删除或替换现有元素来修改数组。

let arr = [1, 2, 3, 4];
arr.splice(0, arr.length);
console.log(arr); // 输出: []

特点

  • 直接修改原数组;
  • 可以保留数组的其他属性;
  • 语法稍显复杂。

方法二:将 length 属性设为 0

通过设置数组的 length 属性为 0 来清空数组。

let arr = [1, 2, 3, 4];
arr.length = 0;
console.log(arr); // 输出: []

特点

  • 直接修改原数组;
  • 保留数组的其他属性;
  • 语法简洁,性能较好。

方法三:重新赋值为空数组 []

将变量重新赋值为一个新的空数组。

let arr = [1, 2, 3, 4];
arr = [];
console.log(arr); // 输出: []

特点

  • 不会修改原数组,而是新建一个空数组;
  • 原数组若无其他引用会被垃圾回收;
  • 语法最简单,性能最佳。

📊 二、三种方法对比表

方法是否修改原数组是否保留其他属性性能适用场景
splice(0, length)需保留属性的情况
length = 0多数清空场景
= []最高无需保留原数组属性的场景

🔍 三、性能测试与结果分析

我们使用以下代码对三种方法进行性能测试:

console.time('splice');
arr.splice(0, arr.length);
console.timeEnd('splice');

console.time('length');
arr.length = 0;
console.timeEnd('length');

console.time('reassign');
arr = [];
console.timeEnd('reassign');

测试结果(多次运行取平均):

方法时间(ms)
splice0.015
length = 00.005
= []0.002

结论
重新赋值为 [] 的方式性能最优,其次是 length = 0,最后是 splice


📐 四、方法选择流程图(Mermaid)

graph TD
    A[开始清空数组] --> B{是否需要保留原数组属性?}
    B -->|是| C{是否介意性能?}
    B -->|否| D[使用 arr = []]
    C -->|是| E[使用 arr.length = 0]
    C -->|否| F[使用 arr.splice(0, arr.length)]
    D --> G[结束]
    E --> G
    F --> G

📖 五、单词与短语表

单词/短语音标词性释义词根/词缀例句
splice/splaɪs/动词拼接,连接-He spliced the two ropes together.
length/leŋθ/名词长度long + -thThe length of the array is 5.
garbage collection/ˈɡɑːbɪdʒ kəˈlekʃn/名词短语垃圾回收-JS has automatic garbage collection.
prototype/ˈproʊtətaɪp/名词原型proto- + -typeArray.prototype defines array methods.
efficiency/ɪˈfɪʃənsi/名词效率efficient + -cyThis method has high efficiency.
assign/əˈsaɪn/动词赋值,分配as- + signWe assign a new value to the variable.
composite/kəmˈpɑːzɪt/形容词复合的com- + positExt.CompositeElementLite is a class.
benchmark/ˈbentʃmɑːrk/名词基准测试bench + markWe run a benchmark to test performance.
reference/ˈrefrəns/名词引用refer + -enceThe object has no reference anymore.

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐