【发布时间】:2018-08-08 18:44:02
【问题描述】:
我需要创建一个执行文本压缩的函数。函数接受一个参数x - text,返回由字符组成的文本,连续重复计数。
示例
x = "aaavvvfdff"
输出
a3v3f1d1f2
我试过这段代码:
const randomText = 'aaavvvfdff'
function getTextCompression(x) {
const chars = x.split('')
const duplicatesCount = chars.reduce((count, char) => {
count[char] = (count[char] || 0) + 1;
return count;
}, {});
console.log(duplicatesCount)
}
getTextCompression(randomText);
得到输出:{ a: 3, v: 3, f: 3, d: 1 }
不知道下一步该做什么或者是好方法吗?
那么如何编写一个返回该输出的函数呢?
【问题讨论】:
-
SO 不是“如何做”问题的地方。你应该自己做研究,用尽所有可用资源。在这里发布问题是最后的手段,它必须包含自己解决这个问题的尝试。
-
使用 for 循环迭代字符串中的字符,如果下一个字符与前一个字符匹配,则使用整数计数值进行计数,然后将此字母及其计数附加到要返回的新字符串中,如果下一个字符与前一个字符不匹配,重置计数并将 temp 更改为新字符。
-
你已经尝试了什么?如果您不展示您迄今为止所做的尝试,我们将无法帮助您。
标签: javascript string duplicates grouping