如何在JavaScript中对逗号分隔的日期字符串按时间顺序排序
JavaScript 逗号分隔日期字符串排序实现
核心实现代码
直接运行即可得到你需要的结果:
var dates = "6/11/2015, 6/1/2015, 6/22/2015, 6/7/2015, 5/11/2015"; // 排序逻辑 var dates2 = dates.split(', ') // 排序时转换为日期对象比较,差值为负则a排在前面(对应更早的日期) .sort((dateA, dateB) => new Date(dateA) - new Date(dateB)) .join(', '); console.log(dates2); // 输出结果:5/11/2015, 6/1/2015, 6/7/2015, 6/11/2015, 6/22/2015
注意事项
- 不要直接使用默认的
sort()方法排序原始字符串,默认排序是按字符编码逐位比较,会出现6/11/2015排在6/2/2015之前的错误结果 - 如果你的原始字符串中分隔符的空格数量不固定,可以先把所有空格清除再拆分,兼容性更强:
var dates2 = dates.replace(/\s+/g, '').split(',') .sort((a,b) => new Date(a) - new Date(b)) .join(', ');
内容的提问来源于stack exchange,提问作者greentea
相关产品推荐
相关产品推荐

