Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据字符串对HTML列表排序_Javascript_Jquery_Html - Fatal编程技术网

Javascript 根据字符串对HTML列表排序

Javascript 根据字符串对HTML列表排序,javascript,jquery,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-

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

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]);
});
请注意,您不需要将的返回值指定给数组,因为它可以就地工作。它改变变量本身


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

假设文件列表是一个数组,可以执行以下操作:

fileNames.sort(function(a, b){
    return a.split('_')[2].localeCompare(b.split('_')[2]);
});
请注意,您不需要将的返回值指定给数组,因为它可以就地工作。它改变变量本身


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

您可以使用简单的js脚本执行此操作。您是如何获得该列表的?这只是一个发送到客户端的数组吗?那么,Kurai,我的回答对你有什么帮助吗?你可以用一个简单的js脚本来完成。你是如何得到这个列表的?这只是发送给客户端的一个数组吗?那么,Kurai,我的回答对你有帮助吗?