如何在 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]; // 在数字数组的开头添加单个元素。 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() 方法,因为它的语法简单。