本教學將介紹如何在 JavaScript 中截斷陣列。截斷數組意味著從末尾刪除一些元素,並將截斷數組的新值賦回實際數組。
有時我們需要截斷數組。假設在一種情況下,有一個數組,其中存在已排序(降序)的元素,現在我們只需要數組中的前 k 個已排序元素並刪除 else 值。因此,我們不需要建立額外的陣列並修改它並將其分配給實際的陣列。
截斷數組的方法有很多種,讓我們看看所有這些方法。
以下是截斷數組的語法:
arr.splice(index, howmany); // the splice() method. arr.length=idx; // array length property.
這裡arr是原始陣列。 idx 是我們要截斷陣列的索引/位置。 索引是要刪除元素的位置,多少是要從陣列中刪除的元素數量。
使用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>
使用陣列長度屬性
#在此範例中,我們使用陣列長度屬性來截斷數組。我們只需將所需的長度分配給數組,其大小就會根據分配的大小進行更改。
<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 到給定大小的元素,這與拼接不同,我們可以選擇定義起始索引和結束索引。
現在您可能會想到一個問題。如果我們分配的大小大於陣列長度怎麼辦?然後我們在數組大小之後得到一個未定義的數組元素。
在下面的範例中,我們定義一個長度為 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 的元素為空。
使用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 是結束索引,直到我們要拼接數組為止,在給定的起始索引之前和結束索引之後,所有元素都將被避免,然後我們將更新的陣列分配給實際數組。
If arr = arr.slice(2, 5); will be there then output will be Anand, sonu, tirupati
在本教學中,我們學習如何使用陣列 splice() 和 slice() 方法以及 length 屬性在 JavaScript 中截斷陣列。
以上是如何在 JavaScript 中截斷數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!