在 TypeScript 中刪除一個陣列項

Migel Hewage Nimesha 2023年1月30日 2022年5月18日
  1. 使用 splice() 刪除 TypeScript 中的陣列項
  2. 使用 shift() 刪除 TypeScript 中的陣列項
  3. 使用 pop() 刪除 TypeScript 中的陣列項
  4. 使用 delete 運算子刪除 TypeScript 中的陣列項
在 TypeScript 中刪除一個陣列項

可以使用 TypeScript 中的多種方法來刪除陣列項。用於實現上述功能的方法是 splice()shift()pop()delete 運算子。

在這篇文章中,我們將介紹幾種使用 TypeScript 刪除陣列項的不同方法。

使用 splice() 刪除 TypeScript 中的陣列項

在 TypeScript 中刪除和新增元素時,splice() 是最佳選擇。splice() 是最佳選擇的主要原因有兩個。

  1. 它不建立新物件,它會立即刪除該專案。
  2. 刪除一個元素後,它不會將陣列索引保留為空,而是適當地更新陣列。

語法:

array.splice(array_index, no_of_elements, [element1][, ..., elementN]);
  1. array_index:指定更改應該從哪裡開始。
  2. no_of_elements:指定在指定 array_index 之後應該刪除的元素數量。
  3. element1:應該新增到陣列中的元素/元素,如果有的話。

例子:

let array = ["white", "yellow", "black", "green", "blue"];
let removed = array.splice(3, 1, "red");
console.log("The new array is : " + array );
console.log("The color that was removed is : " + removed);

輸出:

The new array is : white,yellow,black,red,blue
The color that was removed is: green

使用 shift() 刪除 TypeScript 中的陣列項

shift() 方法可以從 TypeScript 中的陣列中刪除一個元素,但它的容量是有限的。使用 shift() 只能刪除特定陣列的第一個元素並返回它。

此外,它沒有需要傳遞給函式的引數,因為它只執行一項任務。

語法:

array.shift();

例子:

let array =  ["white", "yellow", "black", "green", "blue"].shift();
console.log("The removed color is : " + array );

輸出:

The removed color is : white

使用 pop() 刪除 TypeScript 中的陣列項

pop() 具有與 shift() 類似的功能,但兩個函式之間的區別在於,shift() 刪除陣列的第一個元素,而 pop() 刪除陣列的最後一個元素並返回它。

語法:

array.pop();

例子:

let array =  ["white", "yellow", "black", "green", "blue"].pop();
console.log("The removed color is : " + array );

輸出:

The removed color is : blue

使用 delete 運算子刪除 TypeScript 中的陣列項

TypeScript 中的 delete 運算子完全刪除了屬性的值和物件的屬性,但我們仍然可以使用運算子實現刪除元素的功能。該屬性在刪除後不能再次使用,除非重新新增回來。

不推薦使用 delete 運算子,因為我們可以通過使用 splice()shift(),pop() 的方法以更有效和安全的方式獲得相同的結果。

例子:

let array =  ["white", "yellow", "black", "green", "blue"];
delete array[1];
console.log("The array after deletion : " + array);

輸出:

The array after deletion : white,,black,green,blue
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

相關文章 - TypeScript Array