我有一个具有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'});
这不起作用,因为它不是数字,而是string
或date
对象
要实现这一点,我需要像tutorial中提到的那样编写自定义商店吗?
还有其他方法吗?
或者是否有其他类似dstore
的框架来实现这一目标?
答案 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以便更好地理解。