如何在 TypeScript 中将元素推送到数组的开头?

typescriptserver side programmingprogramming

在本教程中,我们将学习如何在 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];
// 在数字数组的开头添加单个元素。
nums.unshift(1);
console.log("在 nums 数组的开头添加单个元素后: " + nums);
// 创建字符串数组
var Welcome:Array = ["TutorialsPoint", "!"];
// 在数组的开头添加多个字符串元素。
welcome.unshift("Welcome","To");
console.log("在 Welcome 数组的开头添加多个元素后: " + Welcome);

编译后,它负责生成以下 JavaScript 代码 -

var nums = [2, 3, 4, 5];
// 在数字数组的开头添加单个元素。
nums.unshift(1);
console.log("在 nums 数组的开头添加单个元素后: " + nums);
// 创建字符串数组
var Welcome = ["TutorialsPoint", "!"];
// 在数组开头添加多个字符串元素。
welcome.unshift("Welcome", "To");
console.log("在 Welcome 数组的开头添加多个元素后: " + Welcome);

输出

上述代码将产生以下输出 -

在 nums 数组的开头添加单个元素后:1,2,3,4,5
在 Welcome 数组的开头添加多个元素后: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 − 在本例中,start_index 的值设为 0,表示将元素插入到数组的开头。

  • end_index − end_index 的值也设为 0,因为我们想要将元素插入到 0 到 0 的范围内。

  • element − 表示需要插入到数组开头的元素。

示例

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

// 创建字符串数组
var strings: Array<string> = ["Two", "Three", "four", "five"];
// 使用 array.splice 在数组的第 0 个索引处添加元素
strings.splice(0, 0, "one");
console.log("在字符串数组的开头添加 1 后:" + strings);

编译后,它负责生成以下 JavaScript 代码 -

// 创建字符串数组
var strings = ["Two", "Three", "four", "five"];
// 使用 array.splice 在数组的第 0 个索引处添加元素
strings.splice(0, 0, "one");
console.log("在字符串数组的开头添加 1 后:" + strings);

输出

上述代码将产生以下输出 -

在字符串数组的开头添加 1 后: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) {
   // 将元素推送到数组的最后一个
   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;
   }
   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) {
   // 将元素推送到数组的最后一个
   arr.push(element);
   // 通过交换数组的值将最后一个元素移动到第一个元素。
   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() 方法,因为它的语法简单。


相关文章