返回的字符串比每个字符在字符串中出现的次数多重复1个字符

pythonRCNewbie

我正在尝试用JavaScript解决此问题,但是很难做到这一点。

假设某人说了一条消息,例如"yeah",我需要返回,"yyeeaahh"或者每个字符在原始字符串中的出现频率是否不均匀:

"yyeaaahhh" 然后我的函数应该返回:

"yyyeeaaaahhhh"

我的方法如下:

我首先将字符串变成了其中Array的一个字符。

获得数组后,我决定创建一个具有键值对的JavaScript对象,其中键是字母,值是字母在字符串中出现的次数。

然后,我了解了该Object.entries()方法,方法使我可以将这些键值对的数组作为数组。

我遇到的困难是如何将该数组映射到一个新的数组,该数组包含键显示的(value + 1)时间,其中value是键在原始字符串中的对应频率。

在更直观的上下文中,我想从这里转到:

[['y', 2], ['e', 3], ['a', 3], ['h', 2]] => ['yyy', 'eeee', 'aaaa', 'hhh']

在此之后,我认为可以将其琐碎地重新连接array到a中string以得到最终的字符串。

到目前为止,这是我的代码:

function newString(string) {
  const strArr = string.split('')
  var counts = {};
  for (var i = 0; i < strArr.length; i++) {
    if ((string.match(new RegExp(strArr[i], "g"))).length >= 1) {
      counts[string[i]] = (string.match(new RegExp(string[i], "g"))).length;
    }
  }
  var countArr = Object.entries(counts)
  var newStrArr = []
  for(const [key,value] in countArr) {
      newStrArr.push(key.repeat(value + 1))

  }
  return newStrArr 
}

[['y', 2], ['e', 3], ['a', 3], ['h', 2]] => ['yyy', 'eeee', 'aaaa', 'hhh']
埃里克·斯维托克

只需创建一个字符串变量并进行连接即可。循环遍历创建的数组,并获取当前字母和当前字母的频率。然后创建另一个循环,以将字母添加到字符串频率+1倍。

var str = '';
for (var i = 0; i < newStrArr.length; i++) {
  var letter = newStrArr[i][0];
  var freq = newStrArr[i][1];
  for (var j = 0; j < freq + 1; j++) {
    str += letter;
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

返回一个字符在字符串中出现的次数

查找每个字符在字符串链表中出现的次数

计算一个字符串在另一个字符串中每个字符的出现次数

JavaScript 如何创建一个函数,该函数返回一个字符串,其中包含字符在字符串中出现的次数

如何计算一个字符串元素在ruby的另一个字符串中出现的次数?

如何计算一个字符串在VBA中另一个字符串中出现的次数?

Pascal脚本计数一个字符串在另一个字符串中出现的次数

检查字符串js中2个字符串的出现次数

如何计算字符串中每个字符重复的次数

每个字符串的方法

如何找到列表中出现次数最多的两个字符串?

如何编写一个程序来返回另一个字符串中出现一个字符串的次数?

我如何重复一个字符串,其中每个字符重复的次数减少了?

计算一个字符变量中多个字符串的出现次数

SWIFT:“压缩” /小字符串类型?每个字符1个字节?

如何计算一个字符串中出现一个特定字母的次数?(C ++)

选择列表中出现频率最高的字符串,如果 'n' 个字符串具有相同的频率计数,则按字母顺序比较每个字符串的第一个字母

计算每个字符串的出现次数,并使用python并排打印EAC编号和字符串

使用 C# 计算每个字符串出现在字符串数组中的次数

如何计算R中列的每个字符串的第一个字符的出现次数

为什么sscanf跳过每个字符串的前4个字符?

如何用PowerShell替换文件中出现的每个字符串?

计算linux中每个字符串之前的特定数字的出现次数

计算一列中每个字符串的出现次数

使用正则表达式计算每个字符串的出现次数

在所有表中搜索一个字符串并按该字符串在一行中出现的次数排序(SQLite)

给定一个字符串,返回一个字符串,其中每个字符都是原始字符,有两个字符?

grep:如果另一个字符串没有出现,则计算一个字符串出现的次数

计算一个字符串中存在一个数据属性或文本字符串的次数,并为每个字符串返回数字