首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中截斷數組?

PHPz
發布: 2023-08-30 12:41:02
轉載
820 人瀏覽過

如何在 JavaScript 中截断数组?

本教學將介紹如何在 JavaScript 中截斷陣列。截斷數組意味著從末尾刪除一些元素,並將截斷數組的新值賦回實際數組。

有時我們需要截斷數組。假設在一種情況下,有一個數組,其中存在已排序(降序)的元素,現在我們只需要數組中的前 k 個已排序元素並刪除 else 值。因此,我們不需要建立額外的陣列並修改它並將其分配給實際的陣列。

截斷數組的方法有很多種,讓我們看看所有這些方法。

文法

以下是截斷數組的語法:

arr.splice(index, howmany); // the splice() method.
arr.length=idx; // array length property.
登入後複製

這裡arr是原始陣列。 idx 是我們要截斷陣列的索引/位置。 索引是要刪除元素的位置,多少是要從陣列中刪除的元素數量。

演算法

  • STEP 1 - 建立一個陣列 arr 並在其中加入元素。使用innerHTML 屬性顯示arr。
  • STEP 2 - 對陣列 arr 應用 splice() 方法,傳遞 index howmany 作為參數。或者,我們可以應用 arr.length=idx。
  • 第 3 步 - 使用innerHTML 屬性顯示截斷的陣列。

範例 1

使用Array splice()方法

在下面的範例中,我們使用陣列 splice() 方法來截斷陣列。我們定義了一個包含七個元素的陣列。我們截斷了位置 3 以外的元素。

<html>
<head>
   <title>Example- Truncate an array in JavaScript</title>
</head>
<body>
   <h3>Truncate an Array using splice() Method-</h3>
   <p id="before">Array before truncate:<br></p>
   <p id="after">Array after truncate:<br></p>
   <script>
      let arr = ["kalyan", "ashis", "anand", "sonu", "tirupati", "nagar", "arjun"];
      document.getElementById('before').innerHTML+=arr
      arr.splice(4, arr.length);
      document.getElementById('after').innerHTML+=arr
   </script>
</body>
</html>
登入後複製

範例 2

使用陣列長度屬性

#在此範例中,我們使用陣列長度屬性來截斷數組。我們只需將所需的長度分配給數組,其大小就會根據分配的大小進行更改。

<html>
<head>
   <title>Example- Truncate an array in JavaScript</title>
</head>
<body>
   <h3>Truncate an Array using Array length property-</h3>
   <p id="before">Array before truncate:<br></p>
   <p id="after">Array after truancate:<br></p>
   <script>
      let arr = ["kalyan", "ashis", "anand", "sonu", "tirupati", "nagar", "arjun"];
      document.getElementById('before').innerHTML+=JSON.stringify(arr)
      arr.length=4
      document.getElementById('after').innerHTML+=JSON.stringify(arr)
   </script>
</body>
</html> 
登入後複製

這裡我們使用 arr.length=4 將陣列改為大小 4。它取得了前 4 個元素,之後所有元素都從陣列中刪除。

它有一個缺點,我們只能取得從起始索引 0 到給定大小的元素,這與拼接不同,我們可以選擇定義起始索引和結束索引。

現在您可能會想到一個問題。如果我們分配的大小大於陣列長度怎麼辦?然後我們在數組大小之後得到一個未定義的數組元素。

範例 3

在下面的範例中,我們定義一個長度為 7 的數組,然後分配大於數組長度的大小。

<html>
<body>
   <p id="result1"><p>
   <p id="result2"><p>
   <script>
      let arr = ["kalyan", "ashis", "anand", "sonu", "tirupati", "nagar", "arjun"];
      arr.length=15
      document.getElementById('result1').innerHTML=JSON.stringify(arr);
      document.getElementById('result2').innerHTML=arr[13];
   </script>
</body>
</html>
登入後複製

這裡我們將陣列大小從 7 改為 15,而不會加入陣列中的元素。請注意,從索引 7 到 14 的元素為空。

範例 4

使用Array slice()方法

在下面的範例中,我們使用陣列 slice() 方法來截斷陣列。陣列 slice() 方法不會改變原始數組,它只會傳回元素 根據給定的論點。所以我們需要將傳回的元素儲存在一個變數中。

我們定義了一個包含七個元素的陣列。我們截斷了位置 3 以外的元素。

<html>
<head>
   <title>Example- Truncate an array in JavaScript</title>
</head>
<body>
   <h3>Truncate an Array using slice() Method</h3>
   <p id="before">Array before truncate:<br></p>
   <p id="after">Array after truncate:<br></p>
   <script>
      let arr = ["kalyan", "ashis", "anand", "sonu", "tirupati", "nagar", "arjun"];
      document.getElementById('before').innerHTML+=arr
      arr = arr.slice(0, 4);
      document.getElementById('after').innerHTML+=arr
   </script>
</body>
</html>
登入後複製

這裡arr = arr.slice(0, 4); 0 是數組的起始索引,4 是結束索引,直到我們要拼接數組為止,在給定的起始索引之前和結束索引之後,所有元素都將被避免,然後我們將更新的陣列分配給實際數組。 < /p>

If arr = arr.slice(2, 5); will be there then output will be
Anand, sonu, tirupati
登入後複製

在本教學中,我們學習如何使用陣列 splice() 和 slice() 方法以及 length 屬性在 JavaScript 中截斷陣列。

以上是如何在 JavaScript 中截斷數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!