javascript - 根据字符串对 HTML 列表进行排序

标签 javascript jquery html

我的网页上显示了一个文件列表,这些文件按照创建日期的顺序排列。文件名按以下格式显示。

file_1_abc_10-23-2015.txt
file_2_fff_10-25-2015.txt
file_88_xyz_11-15-2015.txt
file_42_abc_11-17-2015.txt
file_9_ttt_11-25-2015.txt

我想根据它们包含的短语来组织它们 - 在这种情况下,我想按文件名中的第三个字符串短语进行排序,因此排序后的列表将如下所示

file_1_abc_10-23-2015.txt
file_42_abc_11-17-2015.txt
file_2_fff_10-25-2015.txt
file_9_ttt_11-25-2015.txt
file_88_xyz_11-15-2015.txt

//abc > abc > fff > ttt > xyz

我不确定是否应该使用像 jquery 这样的前端脚本来解决这个问题,或者是否可以使用模板引擎来完成这个问题(我正在使用 thymeleaf,但我不想将其作为 thymeleaf问题,因为输出列表只是基本的 HTML)。我刚刚开始这项任务,不想做得太过分 - 有什么想法吗?

非常感谢

最佳答案

假设文件列表是一个数组,您可以这样做:

fileNames.sort(function(a, b){
    return a.split('_')[2].localeCompare(b.split('_')[2]);
});

请注意,您不需要分配返回值sort到数组,因为 sort工作到位。它更改变量本身。

.split('_')[2] 将字符串拆分为数组:['file', '1', 'abc', '10-23-2015 .txt'],然后返回索引 2 处的值,即 'abc',然后在排序中使用该值。

关于javascript - 根据字符串对 HTML 列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33910759/

相关文章:

javascript - 在 HTML 中显示 PHP var(使用 jQuery)

jquery - 让视差在 iPad 上运行

jquery - 如何开发 iPad 网络应用程序以应对 wifi 中断

php - 无法在 jquery 中 append HTML 代码

html - 需要帮助导航栏通知按钮

javascript - 如何将包含对象数组的字符串转换回数组?

javascript - ReactJS 自定义三态复选框不会显示复选标记

php - 使用jquery动态加载php

javascript - 如何从 json 嵌套对象中提取数据?

javascript - 传单功能的样式不起作用