如何在 JavaScript 中清空数组?


本教程将教我们如何在 JavaScript 中清空数组。在使用 JavaScript 编程时,程序员需要在许多情况下清空数组。例如,程序员正在使用 JavaScript 进行竞赛编程。假设为了解决某个问题,他们需要在每次调用函数时创建一个新的或空的数组。用户可以从下面的示例中了解这个问题。

function child ( ){
   // create a new array or use a single array and make it empty every time function invokes
   }
   function parent ( ) {
      for ( int i=0; i< 10; i++ ) {
         Child ( );
      }
   }

在上面的示例中,如果程序员每次都创建一个新数组,他们的代码性能将会下降。

为了克服类似上述的问题,我们在本教程中解释了不同的方法。

  • 赋值新的空数组

  • 将数组长度设置为零

  • 使用 pop() 和 shift() 方法

  • 使用 splice() 方法

赋值新的空数组

在这种方法中,我们将新的**空数组** ‘[ ]’ 赋值给数组以使其清空。赋值空数组是清空数组最快捷且最常用的方法。但是,如果用户已经引用了该数组,它只会更新当前数组,不会更新他们引用的父数组。

语法

用户可以按照以下语法进行此操作。

let array = ["welcome", "to", "the", "TutorialsPoint"];
array = [ ];

示例

在这个示例中,我们将学习使用基本 JavaScript 通过将其赋值为空数组来清空数组。

<!DOCTYPE html>
<html>
<head>
   <title>Make an array.</title>
</head>
<body>
   <h2>Make an array empty by assigning new empty array.</h2>
   <h4>Initial array as follows:</h4>
   <div id="Initial"></div>
   <h4> Final array as follows:</h4>
   <div id="Final"></div>
   <script>
      let Initial = document.getElementById("Initial");
      let Final = document.getElementById("Final");
      let arr = ["welcome", "to", "the", "TutorialsPoint"];
      Initial.innerHTML = " [ " + arr + " ] ";
      arr = []; // making array empty
      Final.innerHTML = " [ " + arr + " ] ";
   </script>
</body>
</html>

在上面的输出中,用户可以看到,在将空数组赋值给当前数组后,它就变空了。

将数组长度设置为零

在 JavaScript 中,每个数组都有一个 length 属性,它返回数组中元素的数量。如果我们将数组长度设置为 0,则数组中没有元素,我们可以实现清空数组的目标。

语法

用户可以按照以下语法使用数组长度属性并将其设置为 0。

let array = ["welcome", "to", "the", "TutorialsPoint"];
array.length = 0;

示例

在这个示例中,我们将编写 JavaScript 代码,通过将其长度设置为零来清空数组。

<html>
<head>
   <title>Make an array empty.</title>
</head>
<body>
   <h3>Make an array empty in JavaScript by making array length 0.</h3>
   <h4>Initial array: </h4>
   <div id="Initial"></div>
   <h4> Final array: </h4>
   <div id="Final"></div>
   <script type="text/javascript">
      let Initial = document.getElementById("Initial");
      let Final = document.getElementById("Final");
      let array = ["TutorialsPoint", "is", "the", "computer", "science", "portal."];
      Initial.innerHTML = " [ " + array + " ] ";
      array.length = 0; // making array empty by making length 0.
      Final.innerHTML = " [ " + array + " ] ";
   </script>
</body>
</html>

使用 pop() 和 shift() 方法

我们可以在 JavaScript 中对数组应用**pop()** 和**shift()** 方法。Array.pop() 方法从末尾删除单个元素,而 Array.shift() 方法从开头删除元素。使用此方法,我们将逐个删除数组中的元素,直到数组变空。

语法

用户可以按照以下语法使用 Array.pop()Array.shift() 方法。

let array = [ 10, 20, 30, 100, 200, 300 ];
array.pop( ) // removes element from the last.
array.shift( ) //removes element from the first.

示例

下面的示例演示了如何使用 array.pop() 方法清空数组。我们将运行 while 循环并从数组中弹出单个元素,直到数组变空。

<html>
<head>
   <title>Make an array empty.</title>
<head>
<body>
   <h3>Make an array empty in JavaScript by using the Array.pop() method.</h3>
   <h4>Original Array of numbers:</h4>
   <div id="Initial"></div>
   <h4> Empty array: </h4>
   <div id="Final"></div>
   <script type="text/javascript">
      let numbers = [10, 20, 30, 100, 200, 300];
      document.getElementById("Initial").innerHTML = " [ " + numbers + " ] ";
      // making array empty using Array.pop().
      let n = numbers.length; // length of the array
      while (n--) {
         numbers.pop();
      }
      document.getElementById("Final").innerHTML = " [ " + numbers + " ] ";
   </script>
</body>
</html>

使用 splice() 方法

在这种方法中,我们将使用**splice()** 方法来清空数组。splice() 方法有助于从 JavaScript 中的列表或数组中删除元素。我们将使用 splice() 方法删除数组中的所有元素。

语法

以下是使用 splice() 方法并删除数组中所有元素的语法。

let chars = [ ‘T’, ‘u’, ‘t’, ‘r’, ‘I’, ‘a’, ‘l’, ‘s’ ];
let n = array.length;
chars.splice( start_index, n );

参数

splice() 方法接受两个参数。

  • **startIndex** − 这是我们想要开始删除数组元素的起始索引。

  • **n** − 这是我们需要从起始索引处删除的元素数量。

示例

<html>
<head>
   <title>Make an array empty.</title>
</head>
<body>
   <h3>Make an array empty in JavaScript by using the Array.spilce() method.</h3>
   <h4>Array of chars as follow:</h4>
   <div id="initial"></div>
   <h4> Final array as follow:</h4>
   <div id="final"></div>
   <script>
      let chars = ['T', 'u', 't', 'r', 'I', 'a', 'l', 's'];
      document.getElementById("initial").innerHTML = " [ " + chars + " ] ";
      // making array empty using Array.spilce().
      let n = chars.length;
      chars.splice(0, n);
      document.getElementById("final").innerHTML = " [ " + chars + " ] ";
   </script>
</body>
</html>

结论

在给定的四种方法中,第一种方法最快,而第三种方法最慢。因为我们需要在第三种方法中遍历整个数组,所以它是一种非常慢的方法。

更新于:2022年7月20日

438 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.