JavaScript程式生成數字的所有旋轉


我們將透過將數字轉換為字串,然後旋轉字串的字元,最後再將其轉換回數字,來生成JavaScript中數字的所有旋轉。此過程將針對每個旋轉重複。我們將持續重複此過程,直到生成給定數字的所有可能的旋轉。此程式將使我們能夠有效地生成數字的所有旋轉,並將用於各種數學計算。

方法

在JavaScript中生成數字所有旋轉的方法是將數字轉換為字串,將其拆分為字元陣列,然後使用迴圈迭代陣列,並在每次迭代中將第一個字元移到陣列的末尾。可以將旋轉後的陣列重新組合成字串,然後轉換回數字。對所需的旋轉次數重複此過程。以下是說明:

  • 將數字轉換為字串以允許進行字串操作。

  • 使用split方法將字串拆分為字元陣列。

  • 初始化迴圈以執行所需的旋轉次數。

  • 在每次迭代中,使用shiftpush陣列方法將陣列的第一個字元移到末尾。

  • 使用join方法將旋轉後的陣列重新組合成字串。

  • 將字串轉換回數字並將其儲存在陣列中以收集所有旋轉。

示例

這是一個生成給定數字所有旋轉的JavaScript程式:

function generateRotations(num) {
   let numStr = num.toString();
   let rotations = [];
     
   for (let i = 0; i < numStr.length; i++) {
      numStr = numStr.slice(1) + numStr[0];
      rotations.push(parseInt(numStr));
   }
     
   return rotations;
}
console.log(generateRotations(123));

解釋

  • generateRotations函式接受一個數字作為引數。

  • 該數字被轉換為字串並存儲在numStr變數中。

  • for迴圈用於生成數字的所有旋轉。迴圈執行numStr.length次,這等於數字中的位數。

  • 在迴圈的每次迭代中,都會刪除numStr的第一個數字並將其新增到字串的末尾。這會建立一個新的旋轉版本的數字。

  • 然後將新的旋轉數字解析回整數並新增到陣列rotations中。

  • 生成所有旋轉後,將返回rotations陣列作為結果。

  • 透過使用數字123呼叫generateRotations函式並將結果列印到控制檯來測試程式碼。

更新於:2023年3月15日

357 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告