Javascript 按年份筛选json数据
我希望筛选出2000年到2021年之间的记录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,
"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());
...
}