在 TypeScript 中刪除一個陣列項
-
使用
splice()
刪除 TypeScript 中的陣列項 -
使用
shift()
刪除 TypeScript 中的陣列項 -
使用
pop()
刪除 TypeScript 中的陣列項 -
使用
delete
運算子刪除 TypeScript 中的陣列項
可以使用 TypeScript 中的多種方法來刪除陣列項。用於實現上述功能的方法是 splice()
、shift()
、pop()
和 delete
運算子。
在這篇文章中,我們將介紹幾種使用 TypeScript 刪除陣列項的不同方法。
使用 splice()
刪除 TypeScript 中的陣列項
在 TypeScript 中刪除和新增元素時,splice()
是最佳選擇。splice()
是最佳選擇的主要原因有兩個。
- 它不建立新物件,它會立即刪除該專案。
- 刪除一個元素後,它不會將陣列索引保留為空,而是適當地更新陣列。
語法:
array.splice(array_index, no_of_elements, [element1][, ..., elementN]);
array_index
:指定更改應該從哪裡開始。no_of_elements
:指定在指定array_index
之後應該刪除的元素數量。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
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.