【发布时间】:2015-10-29 16:59:29
【问题描述】:
我不太擅长处理字符串,需要一些帮助。
我有这个函数,它需要 2 个 div 并获取一个段落,该段落包含一个表示时间的字符串,格式如下:
2015 年 8 月 7 日,星期五,晚上 18:21
或
2015 年 8 月 21 日,星期二,上午 10:45
作为 2 个示例。我想创建一个排序比较器函数,如果一个大于另一个,它将返回正确的数字,但我不确定如何提取数字可以是 1 位或 2 位数字长的天数,并且还要考虑确切的时间等。 .
时间字符串是 innerText 部分,我在其中有一个逗号进行拆分,因此 atime 和 btime 是每个部分的数组。
这是我到目前为止所做的:
// format: Friday, 7 August 2015, 18:21 PM
// atime[0] --> Friday
// atime[1] --> 7 August 2015
// atime[2] --> 18:21 PM
function sortByTimeAdded(a, b) {
var atime = (a.getElementsByClassName('timeAdded')[0].innerText).split(',');
var btime = (b.getElementsByClassName('timeAdded')[0].innerText).split(',');
/*if (atime[1] < btime[1]) {
return -1;
}
if (atime[1] > btime[1]) {
return 1;
}*/
return 0;
}
谢谢!
【问题讨论】:
-
所以您希望它们按时间顺序排序?
-
是的,我知道,只是不确定如何以及如何提高效率。
-
innerText不是标准的,并且不受 Firefox 支持。最好使用textContent。 -
谢谢!我不知道。我最好更改一些旧代码然后:S
标签: javascript sorting time format comparator