我想按日期范围过滤简单的JSON文件。 有开始日期和结束日期。
这是我的职责:
var startDate = new Date("2013-3-25");
var endDate = new Date("2017-3-25");
var aDate = new Date();
var filteredData = this.orders.filter(function(a){
aDate = new Date(a.fecha);
aDate >= startDate && aDate <= endDate;
});
console.log(filteredData)
这是我的:fiddle
我希望在我的数组中获得一个对象,但是数组是空的,因为你可以在控制台中找到它。
答案 0 :(得分:4)
在数组上使用filter
方法时,该函数需要返回一个布尔值,以指示脚本是保留值还是删除它。
您没有从过滤器功能中返回值。这有效:
var filteredData = this.orders.filter(function(a){
aDate = new Date(a.fecha);
return aDate >= startDate && aDate <= endDate;
});
答案 1 :(得分:3)
但是数组是空的,因为你可以在控制台中找到它。
由于filter
的回调方法没有返回任何内容,请将其设为
var filteredData = this.orders.filter(function(a){
var aDate = new Date(a.fecha);
return aDate.getTime() >= startDate.getTime() && aDate.getTime() <= endDate.getTime();
});
注意强>
getTime()
和startDate
endDate
,在filter
答案 2 :(得分:0)
您没有在过滤器中返回任何内容。
columns = ['a', "b","cin",'cout', 'din', 'dout']
rows = [[1 , 1, 3, 4, 2, 3], [2,3,3,1, 8 , 4], [3,1,3,1, 2, 1]]
dff1 = pd.DataFrame(rows, columns=columns)
供参考,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter