在 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