Javascript:循环遍历数组中元素的字符

标签 javascript arrays string character

我有以下问题:

编写一个函数,该函数接受单词列表,并返回一个对象,该对象告诉您每个字母出现的次数。

所以像这样:

var data = ['hat', 'cat', 'dog'];

变成:

var object = {
  'a' : 2,
  'h' : 1,
  't' : 2,
  'c' : 2,
  'd' : 1,
  'g' : 1
};

到目前为止我的解决方案是:

  1. 使用空白对象创建一个函数。
  2. 循环遍历数组的所有元素

这些步骤并不像我想象的那样有效:

  • 尝试循环遍历每个数组元素的字符。
  • 如果数组元素的字符在对象中未定义,则将其放入并递增到 1。否则,如果它已经存在,则再次将其加一。
  • 我哪里出错了?还是我离得远了?

    最佳答案

    这就是您要搜索的内容:

    // Function that you need.
    function letterUsage(data) {
        // Collector.
        var result = {};
        
        // Loop.
        for (var i = 0; i < data.length; ++i) {
            for (var j = 0; j < data[i].length; ++j) {
                var letter = data[i][j];
                if (result[letter]) {
                    result[letter] = result[letter] + 1;
                } else {
                    result[letter] = 1;
                }
            }
        }
    
        return result;
    }
    
    // Prepare test.
    var data = ['hat', 'cat', 'dog'];
    var result = letterUsage(data);
    
    // Print result.
    console.log(result);

    关于Javascript:循环遍历数组中元素的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37039091/

    相关文章:

    javascript - 如何添加下一个上一个按钮以更改 javascript 中的选项卡内容?

    javascript - 使用 Promise 将 Ember JS 转换为 Ember Data

    javascript - 使用 toLocaleString 格式化百分比会导致值乘以 100

    python - 如何用字符串的字符创建一个列表?

    java - 计算文本文件中的字符数

    javascript - 从子项执行父函数不会更新父项的属性

    python - 生成包含 m 和 n 整数的围栏矩阵

    python - Python中多对的相同操作

    sql - 在 Postgres 的数组字段上应用聚合函数?

    java - 二十一点帮助 : advice for user about whether to hit or stand