【发布时间】:2017-09-01 18:03:54
【问题描述】:
我正在尝试采用新的 Array.prototype 函数,并且想知道如何使用它来完成这段代码。
目标是,从原始对象数组中返回每12个对象的平均值作为数组。
var WeatherData = [{tm:0,t:22,h:15,p:537}..
var AverageWeather = [];
var temp = 0;
for (i = 0; i < WeatherData.length; i++) {
temp += WeatherData[i].t;
if ((i+1) % 12 == 0) {
AverageWeather.push( Math.round((temp / 12) * 100) / 100 );
Temp = 0;
}
}
console.log(AverageWeather);
【问题讨论】:
-
Array.map 和 Array.reduce
-
filter是用于该任务的更好方法。不过,这并不新鲜。带有i += 12的for循环会更快,,, -
请注意,按照惯例,只有类或工厂函数的第一个字母应大写,所有其他变量应以小写字母开头。
标签: javascript arrays array.prototype.map