【发布时间】:2011-07-21 15:10:01
【问题描述】:
我有一个这样的数组:
["2011-06-16 16:37:20",23.2],
["2011-06-21 16:37:20",35.6],
["2011-06-26 16:37:20",41.8],
["2011-07-01 16:37:20",25],
["2011-07-06 16:37:20",22.8],
["2011-07-11 16:37:20",36.4],
["2011-07-16 16:37:20",34],
["2011-07-21 16:37:20",20]
[...]
Format: [$date,count]
现在我需要为每个数组元素添加第三个和第四个值,这是之前或之后 N 个计数的平均值。
N=3 时的示例
第 3 个值应该是之前 3 个计数值的平均值,第 4 个值应该是当前数组元素之后的 3 个计数值的平均值。 结果如下所示:
["2011-06-16 16:37:20",23.2, null, 34.13],
["2011-06-21 16:37:20",35.6, null, 29.86],
["2011-06-26 16:37:20",41.8, null, 28.06],
["2011-07-01 16:37:20",25, 33.53, 31.06],
["2011-07-06 16:37:20",22.8, 34.13, 30.13],
["2011-07-11 16:37:20",36.4, 29.86, null],
["2011-07-16 16:37:20",34, 28.06, null],
["2011-07-21 16:37:20",20, 31,06, null]
null 值只不过是无法计算的值的占位符,因为没有足够的值来计算 N 计数的平均值。
也可以放置所有可用计数的平均值,例如第三行的“24.4”(23.2+35.6)/2 而不是null:
["2011-06-26 16:37:20",41.8, 24.4, 28.06],
我不知道,如何构建代码。
希望得到提示或帮助。
谢谢。
//更新:对不起,但是..请:有人可以解释一下,为什么有 2 个人对这个问题投了反对票?我不知道为什么。这不公平 - 跟我说话,如果我做错了? 对不起!
【问题讨论】:
-
你真的应该尝试自己做这件事,然后就给你带来麻烦的事情寻求具体的帮助。要求社区为您编写它并不是这个网站的全部目的......
-
抱歉,我试了 3 个小时 - 但不知道。遍历数组不是问题,但是我不知道如何获取当前之前的n个值和之后的n个值。
-
尝试实现一个 N=1 的解决方案 - 即,仅平均这个数字和之前的数字。然后尝试 N=2 看看是否出现了模式。
-
@The Bndr:贴出你试过的代码!最好的学习方法是让别人指出你方法的问题;否则,在没有真正理解的情况下使用别人的解决方案太诱人了。
-
@The Bndr - 投票结束是因为这不是您以外的任何人都可能关心的问题。这是一个非常具体的问题。也就是说,我很无聊,所以我添加了一个解决方案。
标签: javascript arrays average