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 浏览量

开启你的 职业

完成课程获取认证

开始
广告