如何在 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() 方法,因為它語法簡單。