javascript - 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"
]}
解决方案
嗯..计算平均听起来像是一项工作......对元素求和并将结果除以元素的数量。
var avg_polarity = polarities.reduce((sum, polarity) => (sum + polarity)) / polarities.length
推荐阅读
- android - Flutter 随机崩溃并删除 Flutter 文件
- routes - Flutter:热重载和路由
- ajax - 如何让 AJAX 查询在移动设备或 Edge 上工作
- google-apps-script - 当 Zapier 添加一行时,Google Apps 脚本 onEdit 触发器未触发
- json - 在火花中处理 JSON - 不同文件中的不同模式
- spring-boot - Spring WebClient 作为 RestTemplate 的替代品
- hive - Hive - 仅获取一个或多个 hive 表的最新分区
- ruby-on-rails - RabbitMQ + Sneakers:一个工人还是 100 个?
- node.js - 停止 webpack 在文件底部添加脚本标签
- javascript - 过滤嵌套数组以获取特定值