- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
这篇文章是昨天编辑并提交审查的。
Improve this question
我正在做一个API调用,我想按数字对项目进行排序。虽然我使用的以下函数在大多数情况下排序效果很好,但在接近结尾时排序就崩溃了。如果你在"当前中断"下查看,你就可以看到我在live website here上的意思。从倒数第六个条目开始的所有内容都拒绝排序。
我是不是漏掉了什么?
const fetchDisruptions = async () => {
try {
const url = "https://data.edmonton.ca/resource/5yvt-mcye.json"
url.search = new URLSearchParams ({
"$$app_token": app.token
});
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.log("error");
return error
}
}
const renderDisruptions = () => {
fetchDisruptions().then((disruption) => {
const currentTime = (new Date).toLocaleString('en-CA', {timeZone: "America/Edmonton", year:"numeric", month:"numeric", day:"numeric", hour12:false, hour: "numeric", minute:"2-digit", second: "2-digit"})
const currentTimeUnix = Date.parse(currentTime.replace(",", ""))
const filteredArray = disruption.filter((entry)=> {
const disruptionStart = Date.parse(entry.start_dttm);
const disruptionEnd = Date.parse(entry.end_dttm)
if (currentTimeUnix >= disruptionStart && currentTimeUnix <= disruptionEnd) {
return entry;
}
}).sort((a,b) => {
if (a.route_id < b.route_id) return -1;
if (a.route_id > b.route_id) return 1;
return 0;
})
})
}
1条答案
按热度按时间p4tfgftt1#
你的代码段没有运行,所以我不能肯定,但是从API结果来看,我看到一些结果不包含route_id,这可能是罪魁祸首。如果两条路由中的一条不包含route_id,那么你编写排序函数的方式将返回0。
看起来这些route_id实际上是包含字母数字字符的字符串,可能会影响您预期的排序(即“21X”〉“920”)。