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

如何统计JavaScript对象数组中按属性划分的各唯一值的出现次数

实现方案

可以直接通过数组遍历+对象计数的方式实现,代码如下:

let arr = [
    {'option1':1},{'option1':1},{'option1':1},
    {'option1':2},{'option1':2},
    {'option1':3},
    {'option2':1},{'option2':1}
]

// 初始化统计结果容器
const countResult = {}

arr.forEach(item => {
    // 取出当前对象的唯一属性名和对应属性值
    const [propName, propValue] = Object.entries(item)[0]
    // 首次遇到该属性时初始化空统计对象
    if(!countResult[propName]) {
        countResult[propName] = {}
    }
    // 累加计数,首次遇到该属性值时默认从0开始累加
    countResult[propName][propValue] = (countResult[propName][propValue] || 0) + 1
})

console.log(countResult)

运行后输出的结果完全符合要求:

{
  option1: { '1': 3, '2': 2, '3': 1 },
  option2: { '1': 2 }
}
逻辑说明
  • 用Object.entries(item)[0]适配你提供的单键数组元素结构,直接获取每个元素的属性名和属性值
  • 两层容器初始化判断避免读取不存在属性时报错
  • 计数逻辑兼容首次统计的场景,无需额外写分支判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:15:04