如何在 TypeScript 中将元素推入数组开头?


在本教程中,我们将学习如何在 TypeScript 中将元素推入数组的开头。在 TypeScript 中,有多种方法可以将单个或多个元素推入数组的开头。

在这里,我们将学习三种不同的方法来将数组元素推入数组的起始索引。

使用 Array.unshift() 方法

TypeScript 的 Array.unshift() 方法允许我们将元素添加到数组的开头。此外,我们还可以使用 Array.unshift() 方法在数组开头添加多个元素。

语法

用户可以按照以下语法使用 array.unshift() 方法将元素插入数组开头。

var nums : Array<number> = [2, 3, 4, 5];
nums.unshift(element);

在上述语法中,我们已将“element”插入到数组的开头。

参数

  • element − 它是要添加到数组开头的元素。用户可以添加多个以逗号分隔的元素作为参数。

示例

var nums : Array<number> = [2, 3, 4, 5];
// add single element at the start of the number array.
nums.unshift(1);
console.log("After adding single elements to the starting of the nums array: " + nums);
// creating array of strings
var welcome : Array<string> = ["TutorialsPoint", "!"];
// Add multiple string elements at the start of the array.
welcome.unshift("Welcome","To");
console.log("After adding multiple elements to the starting of the Welcome array: " + welcome);

编译后,它将生成以下 JavaScript 代码:

var nums = [2, 3, 4, 5];
// add single element at the start of the number array.
nums.unshift(1);
console.log("After adding single elements to the starting of the nums array: " + nums);
// creating array of strings
var welcome = ["TutorialsPoint", "!"];
// Add multiple string elements at the start of the array.
welcome.unshift("Welcome", "To");
console.log("After adding multiple elements to the starting of the Welcome array: " + welcome);

输出

以上代码将产生以下输出:

After adding single elements to the starting of the nums array: 1,2,3,4,5
After adding multiple elements to the starting of the Welcome array: Welcome,To,TutorialsPoint,!

在上面示例的输出中,用户可以观察到 1 已插入到“nums”数组的开头,并且 [‘welcome’, ’ To’] 已添加到“welcome”数组的开头。

使用 Array.splice() 方法

Array.splice() 方法允许我们将元素插入到数组的任何位置。此外,我们可以在特定位置范围内将多个元素插入到数组中。

语法

用户可以按照以下语法使用 Array.splice() 方法将数组插入开头。

var strings: Array<string> = ["Two", "Three", "four", "five"];
strings.splice(start_index, end_index, element);

在上述语法中,我们创建了字符串数组并使用了 array.unshift() 方法将元素插入数组。

参数

  • start_index − 在我们的例子中,我们将使用 0 作为 start_index 的值,以将元素插入开头。

  • end_index − 对于 end_index,我们也将使用 0,因为我们希望在 0 到 0 的范围内插入元素。

  • element − 它是需要插入开头的元素。

示例

在下面的示例中,我们创建了字符串“nums”数组。之后,我们使用 Array.unshift() 方法将元素插入数组的第 0 个索引。在输出中,用户可以看到“one”已添加到数组的开头。

// creating array of strings
var strings: Array<string> = ["Two", "Three", "four", "five"];
// Add element at 0th index of the array using the array.splice
strings.splice(0, 0, "one");
console.log("After adding one to the starting of the strings array: " + strings);

编译后,它将生成以下 JavaScript 代码:

// creating array of strings
var strings = ["Two", "Three", "four", "five"];
// Add element at 0th index of the array using the array.splice
strings.splice(0, 0, "one");
console.log("After adding one to the starting of the strings array: " + strings);

输出

以上代码将产生以下输出:

After adding one to the starting of the strings array: one,Two,Three,four,five

使用 Array.push() 方法

array.push() 方法允许我们将元素插入数组的末尾,但我们可以创建一些自定义算法,将最后一个元素移到数组的开头。

语法

用户可以按照以下语法使用 array.push() 方法将元素插入开头。

var arr: Array<number> = [3, 4, 5, 6, 7, 8];
arr.push(element);
for (let i = arr.length-1; i > 0; i--) {
   let temp = arr[i];
   arr[i] = arr[i - 1];
   arr[i - 1] = temp;
}

在上述语法中,我们使用 array.push() 方法在数组末尾添加了一个元素,并将其移到了第一个位置。

算法

用户应遵循以下算法将元素插入数组开头。

步骤 1 − 使用 array.push() 方法将元素插入数组末尾。

步骤 2 − 之后,将第 n 个元素与第 n-1 个元素交换,将第 n-1 个元素与第 n-2 个元素交换,依此类推。用户可以使用 for 循环并将前 n-1 个元素与最后一个元素交换,以将其移到第一个位置。

示例

在下面的示例中,我们创建了数字数组。“insertAtStart()”函数实现了上述算法,将数组元素插入开头。我们分别通过传递 2 和 1 作为参数调用了两次“insertAtStart()”函数,用户可以在输出中看到结果。

var arr: Array<number> = [3, 4, 5, 6, 7, 8];

function insertAtStart(element: number) {
   // push element at the last of the array
   arr.push(element);
   //   Move last element to the first by swapping the values of the array.
   for (let i = arr.length-1; i > 0; i--) {
      let temp = arr[i];
      arr[i] = arr[i - 1];
      arr[i - 1] = temp;
   }
   console.log("After adding " + element + " to the start of array: " + arr);
}

insertAtStart(2);
insertAtStart(2);

编译后,它将生成以下 JavaScript 代码:

var arr = [3, 4, 5, 6, 7, 8];
function insertAtStart(element) {
   // push element at the last of the array
   arr.push(element);
   //   Move last element to the first by swapping the values of the array.
   for (var i = arr.length - 1; i > 0; i--) {
      var temp = arr[i];
      arr[i] = arr[i - 1];
      arr[i - 1] = temp;
   }
   console.log("After adding " + element + " to the start of array: " + arr);
}
insertAtStart(2);
insertAtStart(2);

输出

以上代码将产生以下输出:

After adding 2 to the start of array: 2,3,4,5,6,7,8
After adding 2 to the start of array: 2,2,3,4,5,6,7,8

本教程介绍了三种不同的方法来将元素插入 TypeScript 数组的开头。Array.unshift() 方法是最简单的方法,因为它将用户想要插入开头的值作为参数。对于单个元素,用户还可以使用 array.splice() 方法。第三种方法是自定义构建的,其时间复杂度也是 O(n)。因此,建议使用 Array.unshift() 方法,因为它语法简单。

更新于: 2022年12月19日

11K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.