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

如何统计字典列表中指定字段值的出现频率

实现方案

核心逻辑分两步处理:

  • 先把嵌套的二维数组用flat()拍平为一维对象数组,消除嵌套层级方便遍历
  • 用reduce做聚合统计,按country字段做一级分组,每个分组下对value字段做频次累加
    注意:你提供的示例代码里sunny/rainy等值没有加字符串引号,直接运行会报变量未定义错误,下方代码已经修正这个问题。
完整代码
const dictionary_demo = [
  [
    {country: "georgia", value: "sunny"},
    {country: "france", value: "rainy"}
  ],
  [
    {country: "georgia", value: "sunny"},
    {country: "france", value: "gloomy"}
  ],
  [
    {country: "georgia", value: "rainy"},
    {country: "france", value: "dry"}
  ]
]

const countResult = dictionary_demo.flat().reduce((res, item) => {
  const { country, value } = item
  // 初始化国家分组
  if (!res[country]) res[country] = {}
  // 对应值计数累加
  res[country][value] = (res[country][value] ?? 0) + 1
  return res
}, {})
运行结果

执行后countResult的输出结构完全匹配预期:

{
  georgia: { sunny: 2, rainy: 1 },
  france: { rainy: 1, gloomy: 1, dry: 1 }
}

如果需要输出成中文描述的统计文本,遍历这个结果对象拼接对应字符串即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 05:36:26