运行 JavaScript 中字符串的长度编码

run length encoding for a string in JavaScript

我是一名新开发人员,本周在测试中遇到了一些问题,但找不到解决这个问题的方法。有什么想法吗?

我认为问题是要对 Javascript 字符串进行排序,您必须将一行中的字母转换为新字符串,将字母重复的次数添加到字符串中;示例:

对于 string = 'AAABBBBCCX9999!!!!!!**' 它应该 return string = '3A4B2CX496!2*'

我尝试了一些字符串和数组方法,但没有接近。我不着急,因为测试已经结束了。但是看到它解决了会很有趣;谢谢大家!

我还在学习,所以感谢大家对如何使用堆栈溢出的回答和反馈。

它的工作原理是匹配所有连续字符序列的字符串,为您提供每组连续字符的数组,然后每个映射到一个新字符串,该字符串的长度和第一个字符放在一起( AAA 变为 3A ('AAA'.length + 'AAA'[0]))。然后用 .join('').

再次将每个字符串粘在一起

const seq = 'AAABBBBCCX9999!!!!!!**'
  .match(/(.)*/g).map(s => s.length + s[0]).join('');
  
console.log(seq);