在 TypeScript 中刪除一個陣列項

Migel Hewage Nimesha 2023年1月30日
  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