You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript统计字符串数组中字符出现次数并生成键值对数组

统计字符串数组中各字符串的字符出现次数

需求说明

给定一个由多个字符串组成的数组,需要为每个字符串生成一个字符统计对象(键为字符,值为该字符在对应字符串中的出现次数),最终返回包含这些对象的数组。

示例

输入

let words = ["aabbbc", "dddeeef", "gghhhii"]

输出

[{a:2, b:3, c:1}, {d:3, e:3, f:1}, {g:2, h:3, i:2}]

解决方案代码

const countCharsPerWord = (words) => {
  return words.map(word => {
    return word.split('').reduce((counter, char) => {
      counter[char] = (counter[char] || 0) + 1;
      return counter;
    }, {});
  });
};

// 测试用例
const words = ["aabbbc", "dddeeef", "gghhhii"];
console.log(countCharsPerWord(words));

代码解释

  • 用map遍历输入数组,对每个字符串单独处理。
  • 每个字符串先通过split('')拆分为单个字符的数组,再用reduce构建统计对象:
    • 初始化空对象作为统计容器。
    • 遍历字符时,若字符已在容器中,对应次数加1;若不存在,则将次数设为1。
  • map最终返回的数组就是所有统计对象的集合,完全匹配需求。

内容的提问来源于stack exchange,提问作者user_1234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:25:38