在 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.