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
广告