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

如何在JavaScript中分析/统计问卷对象数组的答案?

解决方案

原始问卷数据

const responses = [
    {
        "question1": "Apple",
        "question2": 5,
        "question3": "Item 1"
    },
    {
        "question1": "Apple",
        "question2": 4,
        "question3": "Item 2"
    },
    {
        "question1": "Orange",
        "question2": 4,
        "question3": "Item 2"
    }
];

通用统计函数

通过一个复用性强的函数,可单独统计任意问题的答案分布:

function countAnswers(responses, questionKey) {
    const countMap = {};
    // 遍历所有回答,统计每个答案的出现次数
    responses.forEach(response => {
        const answer = response[questionKey];
        countMap[answer] = (countMap[answer] || 0) + 1;
    });
    // 将统计结果转换为要求的数组格式
    return Object.entries(countMap).map(([answer, count]) => ({
        answer,
        count
    }));
}

生成各问题统计结果

调用函数分别获取三个问题的统计数据:

const question1Stats = countAnswers(responses, 'question1');
const question2Stats = countAnswers(responses, 'question2');
const question3Stats = countAnswers(responses, 'question3');

输出结果

  • question1统计结果:
[
    { "answer": "Apple", "count": 2 },
    { "answer": "Orange", "count": 1 }
]
  • question2统计结果:
[
    { "answer": 5, "count": 1 },
    { "answer": 4, "count": 2 }
]
  • question3统计结果:
[
    { "answer": "Item 1", "count": 1 },
    { "answer": "Item 2", "count": 2 }
]

这些统计数组可直接作为React中ChartJS的数据源,用于柱状图、饼图等图表展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:55:28