运行 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);
我是一名新开发人员,本周在测试中遇到了一些问题,但找不到解决这个问题的方法。有什么想法吗?
我认为问题是要对 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);