【发布时间】:2014-10-03 19:08:51
【问题描述】:
我有一个带有时间键和值的 json 对象,例如:
[
{
"name" : "Meeting 1",
"time" : "9:30am",
"day" : "Sunday",
"location" : "Summit",
},
{
"name" : "Meeting 2",
"time" : "10:00am",
"day" : "Sunday",
"location" : "Juab",
}
]
我想做的是按时间属性对它们进行排序,但你可以看到两难境地。如果我使用 Angular 的 orderBy 方法,它会说 10:00 am 应该在 9:00 am 之前。我想过将对象拆分为上午和下午,但最终还是遇到了同样的问题。
我是 Angular 的新手,所以我不知道解决这个问题的最佳方法。有什么想法吗?
【问题讨论】:
-
您要么编写一个足够智能的自定义过滤器以按照您想要的方式进行排序,要么尝试利用现有库(例如 moment.js)中的功能......无论哪种方式,看起来你都需要自定义过滤器
-
没有日期,谁能说9:00早于10:00?第 1 天的 10:00 可能在第 2 天的 9:00 之前。考虑 24x7 全天候运营的公司。晚上 11:00 的会议可能早于凌晨 2:00 的会议。
-
@MattJohnson 你是对的。上面的示例仅用于示例目的。这些对象实际上具有日期属性,我按星期几过滤它们。
-
请展示您实际使用的示例真实值。否则答案会完全不同。
标签: javascript angularjs