javascript - Wie schneide ich ein Array-Objekt mit einer Länge von 365 in 12 Gruppen pro Monat auf?
怪我咯2017-07-05 10:36:42
0
7
1037
Das gezeigte Bild ist eine JSON-Datei, die die AQI-Daten für das gesamte Jahr 2014 speichert. Jetzt möchte ich den monatlichen durchschnittlichen AQI berechnen. Wie soll ich dieses Array verarbeiten?
这个返回结果就可以返回一个包含12个数组的新数组,每个子数组里包含了当月的AQI数据
才发现楼主要的是求每个月的平均AQI,那么可以这样:
这个结果返回一个包含12个形如
{month:'1月',beijing:12,shanghai:24,guangzhou:36}
的数组,里面的值就是每个月的平均值。后台group by一下,用avg()
感觉你不需要对数据进行处理,那样只会继续耗费内存,你这里只需要知道每个月起始点和结束点,通过起始点和结束点去取数组进行计算就好了.
因为其实数据都在这里了,只是你使用数据规则不一样罢了
你的问题主要是怎么分成12组,提供两个简单的思路
将date变成日期对象,取月份来分组
利用正则取匹配date来分组
从你给出的
JSON
格式分析得出:外围数组1-12,代表12个月
再遍历数组,得到
object
,取object
的data
值,按照/
分割得到月,根据月份把object
填充到对应月份中拿到每个月对应的数据,再按月处理
数据分组让后端处理吧,前端负责使用就好了。
上面代码将每个月份的数据求和了,要请平均应该简单了,不过上面的代码对json数据有个要求就是需要所有的数据已经按照月份分类好了