dstore过滤日期范围

时间:2016-07-19 11:34:35

标签: javascript date filter dojo dstore

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

我正在使用dstorejs存储数据,如下所示

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

我需要根据员工的加入日期制作过滤器,例如从2014年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的框架来实现这一目标?

1 个答案:

答案 0 :(得分:1)

您只需使用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以便更好地理解。