javascript - 使用 JavaScript 计算字符串中字符出现的频率

标签 javascript

<分区>

我需要编写某种循环来计算字符串中每个字母的出现频率。

例如:"aabsssd"

输出:a:2, b:1, s:3, d:1

还想在对象中映射与属性名称相同的字符。知道怎么做吗?

我不知道该怎么做。

这是我到目前为止的位置:

var arr = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];

function counter(x) {
  var count = 0,
    temp = [];
  x = x.split('');
  console.log(x);
  for (var i = 0, len = x.length; i < len; i++) {
    if (x[i] == "a") {
      count++;
    }
  }
  return count;
}
var a = "aabbddd";
console.log(counter(a));

最佳答案

给你:

function getFrequency(string) {
    var freq = {};
    for (var i=0; i<string.length;i++) {
        var character = string.charAt(i);
        if (freq[character]) {
           freq[character]++;
        } else {
           freq[character] = 1;
        }
    }

    return freq;
};

关于javascript - 使用 JavaScript 计算字符串中字符出现的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18619785/

相关文章:

javascript - 函数不识别变量

javascript - 从通用到特定的原型(prototype)继承 - 更好的方法

javascript - Sails.js 上传后如何获取图像的名称

javascript - 引导下拉菜单上的 Vue 选择样式功能

javascript - 访问页面时自动点击页面上的 anchor 链接

javascript - 当 html 选择器更改时加载新页面而不使用 javascript

javascript - 为什么 postMessage() 只给我最后一个 DOM 的信息?

javascript - Axios:如何访问被拒绝 promise 的响应对象?

javascript - Jquery 点击更改表单字段值

javascript - 正则表达式查找逗号后跟非空白字符