如何在 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+ 瀏覽量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告