用JavaScript压缩字符串

我们需要编写一个JavaScript函数,该函数接受一个可能包含一些连续重复字符的字符串。

该函数应该像这样压缩字符串-

'wwwaabbbb' -> 'w3a2b4'

'kkkkj' -> 'k4j'

并且如果压缩字符串的长度大于或等于原始字符串,则应返回原始字符串。

例如-

'aab'可以压缩为'a2b1',但是它的长度增加到4,所以我们的函数应该返回'aab'

示例

为此的代码将是-

const str1 = 'wwwaabbbb';

const str2 = 'kkkkj';

const str3 = 'aab';

const compressString = (str = '') => {

   let res = '';

   let count = 1;

   for(let i = 0; i < str.length; i++){

      let cur = str[i];

      let next = str[i + 1];

      if(cur === next){

         count++;

      }else{

         res += cur + String(count);

         count = 1;

      };

   }

   returnres.length<str.length? res : str;

};

console.log(compressString(str1));

console.log(compressString(str2));

console.log(compressString(str3));

输出结果

控制台中的输出将是-

3a2b4

k4j1

aab

以上是 用JavaScript压缩字符串 的全部内容, 来源链接: utcz.com/z/337079.html

回到顶部