JavaScript 中的反轉帶有扭曲的字串


我們需要編寫一個 JavaScript 函式,它接收一個字串 str 作為第一個引數,並接收一個整數 num 作為第二個引數。

我們的函式應該從字串的開頭起,對每 2 * num 個字元反轉前 num 個字元。如果剩餘的字元少於 num 個,則必須反轉所有字元。

如果剩餘的字元少於 2 * num 但大於或等於 num 個,則必須反轉前 num 個字元,並將其他字元保持原樣。

例如 -

如果輸入字串和數字為 -

const str = 'klmnopq';
const num = 2;

則輸出應為 -

const output = 'lkmnpoq';

我們在那裡反轉了前 4 個字元中的前 2 個,然後繼續查詢,我們只剩下 3 個字元,因此我們反轉了前 3 個字元中的前 2 個。

示例

此程式碼將為 -

 現場演示

const str = 'klmnopq';
const num = 2;
const reverseString = (str = '', num = 1) => {
   if(str.length < num){
      return str.split("").reverse().join("");
   };
   let res = "";
   for(let i = 0; i < str.length; i += (2*num)){
      res += str.split("").slice(i, i+num).reverse().join("");
      res += str.slice(i+num, i+2*num);
   };
   return res;
};
console.log(reverseString(str, num));

輸出

控制檯中的輸出將為 -

lkmnpoq

更新於: 03-Mar-2021

152 瀏覽量

開啟你的 職業

完成課程獲取認證

開始
廣告