dstore 过滤日期范围

dstore filter date range

我有一个具有 date 属性的数据数组,我需要根据日期过滤数据。

我正在使用 dstorejs 来存储如下数据

this.employeeStore = new Memory({data:[emplist],idProperty:"emp_num"});

我需要根据员工的入职日期进行筛选,比如从 2​​014 年 1 月 1 日到 2015 年 3 月 3 日入职的员工

this.employeeStore.filter({joinDate:'01/01/2014'});

这给出了 2014 年 1 月 1 日加入的所有员工,但如果我需要在

这样的范围内进行过滤
this.employeeStore.filter.gte({joinDate:'01/01/2014'});

这将不起作用,因为它不是一个数字,它是一个 stringdate 对象

要实现这一点,我是否需要按照他们在 tutorial 中提到的那样编写自定义商店?

还有其他方法吗?

或者是否有类似 dstore 的任何其他框架来实现此目的?

您只需使用 dojo/store Query filter 即可实现此目的, 使用回调函数精确查询以管理比较日期

并且还使用 dojo/date compare 函数将您的 emplist 数组的日期与特定日期进行比较,如下所示:

this.employeeStore = new Memory({data: someData});

var compareDate = new Date(2014,1,1);

var results = store.query(function(object){
    // compare return -1 if lower 
    // return 0 if equals
    // return 1 if greater
    return date.compare(object.date, compareDate) > -1;
});

results.forEach(function(yourResultData){
    // some stuff looping results
});

你可以看一个Fiddle 加深理解。