使用 JavaScript 返回整數的反向陣列


探索 JavaScript 錯綜複雜的世界,我們會遇到各種需要創新解決方案的程式設計挑戰。其中,返回整數的反向陣列的能力成為一個基礎但重要的主題。瞭解如何在 JavaScript 中運算元組對於尋求提升編碼能力的開發人員至關重要。在這篇啟迪性的文章中,我們將踏上揭開使用 JavaScript 返回整數的反向陣列的奧秘之旅。透過深入研究這個主題並運用鮮為人知的方法,我們將賦予開發人員知識和技能,讓他們能夠自信而巧妙地應對陣列操作挑戰。

問題陳述

手頭的挑戰需要建立一個 JavaScript 函式,該函式用於生成一個包含表示自然數的元素的陣列。該函式預計接收一個名為“num”的單個引數,該引數作為陣列生成的起點。所需的輸出包括一個名為“output”的陣列,該陣列包含從“num”開始並遞減到 1 的自然數序列。

示例輸入 -

const num = 10;

示例輸出 -

const output = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];

解釋

對於給定的輸入,函式應生成一個從 10 開始並遞減到 1(包括 1)的陣列。因此,輸出陣列應按此順序包含數字 [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]。

方法

在這篇文章中,我們將看到多種在 JavaScript 中解決上述問題陳述的方法 -

  • 迭代方法

  • 遞迴方法

  • Array.from() 方法

  • Array.prototype.reverse() 方法

方法 1:迭代方法

要生成一個按降序排列的自然數陣列,請定義一個名為 generateDescendingArray 的函式,該函式接受引數 num。在函式內部,建立一個空陣列。設定一個從 num 開始並迭代到 1 的遞減 for 迴圈。在每次迭代中,將當前值推入陣列。最後,在迴圈結束後,將生成的陣列作為輸出返回。

示例

generateDescendingArray 函式將生成所需的輸出,即一個包含按降序排列的自然數的陣列,從給定的輸入數字 num 開始到 1。

function generateDescendingArray(num) {
   const output = [];

   for (let i = num; i >= 1; i--) {
      output.push(i);
   }

   return output;
}

const num = 6;
const output = generateDescendingArray(num);
console.log(output);

輸出

以下是控制檯輸出 -

[ 6, 5, 4, 3, 2, 1 ]

方法 2:遞迴方法

要實現一個 JavaScript 函式,該函式遞迴地從給定數字“n”到 1 返回整數的反向陣列,請按照以下步驟操作:定義一個名為 reverseArray 的函式,該函式帶有一個引數“n”。在函式內部,建立一個空陣列。檢查“n”是否等於 1 作為基本情況,如果是,則將 1 推入陣列並返回它。如果“n”不等於 1,則遞迴呼叫 reverseArray,並將“n-1”作為引數,以生成其餘數字的反向陣列。在遞迴呼叫返回後,將“n”推入陣列。最後,返回包含整數反向序列的陣列。

示例

程式碼定義了一個名為 reverseArrayRecursive 的遞迴函式,該函式生成一個反向順序的數字陣列。它檢查 n 是否為 0,並在基本情況下返回一個空陣列。否則,它透過將 [n] 與呼叫 reverseArrayRecursive 並傳入 n - 1 的結果連線起來遞迴地構造反向陣列。此過程持續進行,直到達到基本情況,確保保持反向順序。最後,函式返回反向陣列。

function reverseArrayRecursive(n) {
   if (n === 0) {
      return [];
   } else {
      return [n].concat(reverseArrayRecursive(n - 1));
   }
}

// Example usage:
console.log(reverseArrayRecursive(5));

輸出

以下是控制檯輸出 -

[ 5, 4, 3, 2, 1 ]

方法 3:Array.from() 方法

要使用 JavaScript 中的 Array.from() 生成從 n 到 1 的整數的反向陣列,請首先確定 n 的值。然後,使用 n 作為第一個引數的 Array.from() 建立一個具有 n 個槽位的空陣列。接下來,使用第二個引數(一個對映函式)透過從 n 中減去當前索引來按反向順序填充陣列。最後,將生成的反向陣列儲存在變數中或根據需要顯示它。

示例

給定的程式碼定義了一個名為 reverseArrayFrom 的函式,該函式接受引數 n 並返回呼叫 Array.from 的結果。此方法建立一個長度為 n 的新陣列,每個元素都是從 n 中減去其索引的結果,有效地反轉了元素的順序。

function reverseArrayFrom(n) {
   return Array.from({ length: n }, (_, i) => n - i);
}

// Example usage:
console.log(reverseArrayFrom(5));

輸出

以下是控制檯輸出 -

[ 5, 4, 3, 2, 1 ]

方法 4:Array.prototype.reverse() 方法

要使用 JavaScript 從給定數字 n 返回到 1 的整數反向陣列,請建立一個接受引數 n 的函式。在函式內部,建立一個數組,並使用迴圈用從 n 到 1 的整數填充它。最後,將 Array.prototype.reverse() 方法應用於陣列以獲得反向順序。

示例

程式碼定義了一個名為 reverseArrayReverse(n) 的函式,該函式使用 Array.from() 生成一個長度為 n 的新陣列,並使用對映函式用 1 到 n 之間的值填充它。然後使用 reverse() 方法反轉陣列並返回。在示例用法中,呼叫了 reverseArrayReverse(5),導致生成反向陣列 [5, 4, 3, 2, 1],並使用 console.log() 列印到控制檯。

function reverseArrayReverse(n) {
   let array = Array.from({ length: n }, (_, i) => i + 1);
   return array.reverse();
}

// Example usage:
console.log(reverseArrayReverse(5));

輸出

以下是控制檯輸出 -

[ 5, 4, 3, 2, 1 ]

結論

總而言之,使用 JavaScript 返回整數的反向陣列可以是一種實用且高效的解決方案。透過實現適當的演算法,可以輕鬆地將原始陣列轉換為其反向形式,從而促進各種資料操作任務。這種方法雖然經常被忽視,但可以賦予陣列操作一種新穎的視角,併為創造性地解決問題開闢途徑。因此,擁抱 JavaScript 的陣列操作能力可以使開發人員能夠自信而巧妙地應對複雜的情況。總之,在 JavaScript 程式設計中融入這種鮮為人知的技術可以增強程式碼的靈活性,並培養對該語言能力的更深入理解。

更新於: 2023 年 8 月 4 日

116 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告