gpt4 book ai didi

javascript - 按年份过滤json数据

转载 作者:行者123 更新时间:2023-12-04 08:25:47 27 4
gpt4 key购买 nike

我希望过滤掉年份在 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);
});

最佳答案

创建 Date 对象在这里没有任何好处,因为 year 属性已经存储为整数,您可以直接比较它

const result = movies.filter(({year}) => (year >= 2000 && year =< 2021)); 
但是您的过滤器不起作用的原因是您正在创建 startDateendDate字符串中的日期和整数中的比较日期。字符串被解释为年,而 js 将整数解释为自纪元以来的毫秒数。
var startDate = new Date("1990");
// Mon Jan 01 1990 00:00:00 GMT+0000 (GMT)
var endDate = new Date("2000");
// Sat Jan 01 2000 00:00:00 GMT+0000 (GMT)

const a = { "Year": 1942 }
var date = new Date(a.Year);
// Thu Jan 01 1970 00:00:01 GMT+0000 (GMT)
要修复它,您需要转换您的 movie.year到一个字符串。
var resultProductData = movies.filter(a => {
var date = new Date(a.Year.toString());
...
}

关于javascript - 按年份过滤json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65271325/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com