在 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