首页 > 解决方案 > Javascript 从 JSON 文件数据中查找平均值

问题描述

如何从 JSON 文件中找到极性数据的平均值?我似乎无法访问它。我需要平均值作为 var,因此我可以使用“chart.js”API 将此输入用于我的图表。

下面是我的代码:

        var sum = 0;
        var avg = 0;
        var xmlhttp = new XMLHttpRequest();
        var url = "moderna_updated.json";
        xmlhttp.open("GET",url,true);
        xmlhttp.send();
        xmlhttp.onreadystatechange = function(){
            if(this.readyState == 4 && this.status == 200){
                var data = JSON.parse(this.responseText);
                var polarities = data.tweets.map(function(elem){
                    return elem.polarity;
                });
                //console.log(polarities);
            } 
        }

下面是我的 JSON 文件的示例:

{
"tweets": [
    {
        "tweetcreatedts": "2021-03-10 23:59:51",
        "polarity": 0.0,
        "score": "neutral"
    },
    {
        "tweetcreatedts": "2021-03-10 23:59:51",
        "polarity": 0.15,
        "score": "positive"
    },
    {
        "tweetcreatedts": "2021-03-10 23:59:36",
        "polarity": 0.0,
        "score": "neutral"
    },
    {
        "tweetcreatedts": "2021-03-10 23:59:36",
        "polarity": 0.4,
        "score": "positive"
  ]}

标签: javascriptjson

解决方案


嗯..计算平均听起来像是一项工作......对元素求和并将结果除以元素的数量。

var avg_polarity = polarities.reduce((sum, polarity) => (sum + polarity)) / polarities.length

推荐阅读