Javascript 按年份筛选json数据

Javascript 按年份筛选json数据,javascript,json,filter,Javascript,Json,Filter,我希望筛选出2000年到2021年之间的记录 "Rank": 50, "Title": "Casablanca", "Description": "A cynical nightclub owner protects an old flame and her husband from Nazis in Morocco.", "Runtime": 102,

我希望筛选出2000年到2021年之间的记录

"Rank": 50,
   "Title": "Casablanca",
   "Description": "A cynical nightclub owner protects an old flame and her husband from Nazis in Morocco.",
   "Runtime": 102,
   "Genre": "Drama",
   "Rating": 8.5,
   "Metascore": "100",
   "Votes": 441864,
   "Gross_Earning_in_Mil": "1.02",
   "Director": "Michael Curtiz",
   "Actor": "Humphrey Bogart",
   "Year": 1942
我曾尝试使用从另一个解决方案中找到的方法,但它无法正常工作

var startDate = new Date("1990");
var endDate = new Date("2000");

var resultProductData = movies.filter(a => {
  var date = new Date(a.Year);
  return (date >= startDate && date <= endDate);
});
var startDate=新日期(“1990”);
var endDate=新日期(“2000”);
var resultProductData=movies.filter(a=>{
var日期=新日期(a.年);

return(date>=startDate&&date在这里创建日期对象不会给您带来任何好处,因为year属性已经存储为整数,您可以直接比较它

const result = movies.filter(({year}) => (year >= 2000 && year =< 2021)); 
要修复它,您需要将
movie.year
转换为字符串

var resultProductData = movies.filter(a => {
  var date = new Date(a.Year.toString());
  ...
}

const result=movies.filter({year})=>(year>2000&&year<2021))
year
属性是一个整数,因此您可以直接检查它。您的筛选器不工作的原因是您正在从字符串中生成
startDate
endDate
日期,并从整数中生成比较日期。字符串读取为年,而整数js解释为从历元开始的毫秒时间。没错,我通过手机添加了代码,但没有找到字符串部分
var resultProductData = movies.filter(a => {
  var date = new Date(a.Year.toString());
  ...
}