【发布时间】:2018-08-27 13:11:16
【问题描述】:
如您所见,它是一个包含 4 个相似文档的数组,每个文档都有
{name:"...", series: [{name:"...",value:"..."},...]}
作为它的结构。 现在,我想基于这个数组创建一个新数组,根据我从函数传递的一些日期时间参数(将是精确,来自日期时间选择器)。
filterDatetime(start, end, array) {
this.actualData = array.map(el => el.series)
.filter(dok => {new Date(dok.name) > new Date(start) && new Date(dok.name) < new Date(end)})
}
我尝试应用上述函数来过滤开始和结束日期时间的系列数组,以返回与图片中类似的文档结构,只是使用新的过滤系列数组......但不知何故这不起作用.
此外,我正在使用 observables。我将返回的可观察数据保存在一个变量中,当页面加载时,该变量应该已经存在于图表中,因此,如果您使用 datetimepicker 选择日期范围,则该变量处的数据通常应该已经存在。
但是,如果它来自可观察对象(如果它已经存在),我不确定它会如何表现。 所以也许我必须小心不要返回一个空数组左右(我对可观察对象还是新手,所以不知道这是否像那样工作)。
编辑:我可以向数据库发送一个新的 http 请求并直接对数据进行过滤,但我想学习那些 map / filter / reduce 等方法来直接使用当前数据进行操作,我认为这在后期开发阶段会更方便。
【问题讨论】:
标签: javascript arrays dictionary filter observable