【发布时间】:2021-11-16 01:34:36
【问题描述】:
我正试图从我的数据中过滤出每 5 个日期并遇到麻烦。我的数据组织为
> data_2 (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {id: 'Team1', values: Array(30)}
id: 'Team1'
values: Array(30)
0: {date: Thu Nov 03 2016 00:00:00 GMT-0400 (Eastern Daylight Time), measurement: 554}
1: {date: Fri Nov 04 2016 00:00:00 GMT-0400 (Eastern Daylight Time), measurement: 584}
...
我试过了
data_2.filter(function(d,i) { return i%4 == 3 && i > 0 })
来自this post,但最终得到一个空数组。我基本上是在尝试检索每 4 个日期的数据。有什么建议吗?
编辑:修复了上面的模运算
【问题讨论】:
-
一个数除以四时,余数永远不会是四:否则你除错了。这就是您返回的数组为空的原因。您可能想使用 i%5 == 4
-
i%3 == 3和i%4 == 4总是错误的。这在数学上是不可能的。你想要i%3 == 2resp。i%4 == 3 -
i以0开头,i%3 == 2对2、5、8是正确的,...。这是第三个,第六个,第九个,...元素。 -
@tnerbusas,您有一个代表团队的对象数组,每个团队都有一个子日期数组,您希望为单个团队或所有团队返回每个第 n 个日期?或者两者都不是正确的解释?
-
您应该阅读filter。第三个参数是整个数组。
标签: javascript d3.js