Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 如何以这种方式对字符串进行排序? 这就是BitTorrent客户端qBittorrent如何对文件名进行排序。_Javascript_Sorting - Fatal编程技术网

Javascript 如何以这种方式对字符串进行排序? 这就是BitTorrent客户端qBittorrent如何对文件名进行排序。

Javascript 如何以这种方式对字符串进行排序? 这就是BitTorrent客户端qBittorrent如何对文件名进行排序。,javascript,sorting,Javascript,Sorting,免责声明:我对torrent和这些文件不感兴趣,不知道它们是什么,也没有下载任何一个 如何以这种方式对Javascript中的字符串进行排序?我不太明白其中的逻辑,但它肯定不是随机的 我试过这个 strings.sort((a,b)=>a.localeCompare(b,“en”{ 敏感性:“案例”, 案例一:“上层”, 数字:真 })); 但这是我得到的,不是我想要的 [ “1.ico”, “01.ico”, “03.ico”, “04.ico”, “05.ico”, “7-zip ICO

免责声明:我对torrent和这些文件不感兴趣,不知道它们是什么,也没有下载任何一个

如何以这种方式对Javascript中的字符串进行排序?我不太明白其中的逻辑,但它肯定不是随机的

我试过这个
strings.sort((a,b)=>a.localeCompare(b,“en”{
敏感性:“案例”,
案例一:“上层”,
数字:真
}));
但这是我得到的,不是我想要的
[
“1.ico”,
“01.ico”,
“03.ico”,
“04.ico”,
“05.ico”,
“7-zip ICO m1losh_1.ICO”,
“07.ico”,
“7z银牌。ico”,
“7z.ico”,
“7z1.ico”,
“7zfm.ico”,
“7Zip.ico”,
“7ZSFX.ico”,
“7zSfxCreate_99.ico”,
“7ZSplit.ico”,
“7zz.ico”,
“08.ico”,
“09.ico”,
“11.ico”,
“14.ico”,
“22.ico”,
“101.ico”,
“107.ico”,
“128.ico”,
“138.ico”,
“777.ico”,
“7833-Zedudman-WinRar_vista.ico”,
“exe.ico”,
“hfs.ico”,
“hg.ico”,
“Icon.ico”,
“Icon1.ico”,
“icon17.ico”,
“inst.ico”,
“安装-2.ico”,
“安装-3.ico”,
“安装-4.ico”,
“安装-5.ico”,
“安装-6.ico”,
“安装-7.ico”,
“安装-8.ico”,
“安装-9.ico”,
“安装-11.ico”,
“安装-12.ico”,
“安装-13.ico”,
“安装-14.ico”,
“安装-15.ico”,
“安装-16.ico”,
“安装-17.ico”,
“安装-18.ico”,
“MAINICON.ico”,
“momitor.ico”,
“PSA_1.ico”,
“qfsinstall.ico”,
“自述!!!.txt”,
“Token_7zip-dark.ico”,
“Token_7zip-light.ico”,
“wusa.ico”
]
排序依据:

  • 项目是否以数字开头
  • 然后,根据前导数字中的字符数
  • 然后,做一个测试
“1.ico”、“01.ico”、“03.ico”、“04.ico”、“05.ico”、“05.ico”、“7-zip ico”7-ZICO 1.ico 1.ico 1.ico 1.ico 1.ico 1.ico 1.ico 1.ico”、“7 Z银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.银.ico“,“hfs.ico”,“hg.ico”,“Icon.ico”,“Icon1.ico”,“icon17.ico”,“inst.ico”,“Install-2.ico”,“Install-3.ico”,“Install-4.ico”,“Install-5.ico”,“Install-6.ico”,“Install-7.ico”,“Install-8.ico”,“Install-9.ico”,“Install-11.ico”,“Install-12.ico”,“Install-13.ico”,“Install-14.ico”,“Install-15.ico”,“Install-16.ico”,“Install-17.ico”,“Install-18.ico”,“main”,“momitor.ico”、“PSA_1.ico”、“qfInstall.ico”、“自述文件!!!.txt”、“Token_7zip-dark.ico”、“Token_7zip-light.ico”、“wusa.ico”]; array.sort((a,b)=>{ 常数n1=a.match(/^\d+/)?[0], n2=b.match(/^\d+/)?[0] 返回(n1==null)-(n2==null) ||n1?长度-n2?长度 ||a.localeCompare(b,未定义,{numeric:true,敏感度:'base'}) }) log(数组)已修改,其代码有点错误

“1.ico”、“01.ico”、“03.ico”、“04.ico”、“05.ico”、“05.ico”、“7-zip ico”7-ZICO 1.ico 1.ico 1.ico 1.ico 1.ico 1.ico 1.ico 1.ico”、“7 Z银.银.银.银.银.银.银.银.银.银.ico、7z.银.银.ico、7z.银.银.银.ico、7z.银.银.ico、7z.银.ico、7z.银.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7z.ico、7zexe.ico、hfs.ico、hg.ico、Icon.ico、Icon1.ico、icon17.ico、inst.ico、Install-2.ico、Install-3.ico、Install-4.ico、Install-5.ico、Install-6.ico、Install-7.ico、Install-8.ico、Install-9.ico、Install-11.ico、Install-12.ico、Install-13.ico、Install-14.ico、Install-15.ico、Install-16.ico、Install-17.ico、Install-18.ico”MAINICON.ico、“momitor.ico”、“PSA_1.ico”、“qfsinstall.ico”、“自述文件!!!.txt”、“Token_7zip-dark.ico”、“Token_7zip-light.ico”、“wusa.ico”]; strings.sort((a,b)=> ((a.match(/^\d+/)?[0]。长度| |无穷大)-(b.match(/^\d+/)?[0]。长度| |无穷大)) ||a.localeCompare(b,“en-u-kf-upper-kn”,{灵敏度:“基本”}) );
console.log(strings);排序的逻辑是什么?确切地说,排序是什么criteria@adiga我不太明白这个问题的逻辑。正如你所看到的,它肯定不是完全随机的。我相信“自然排序”“这就是你想要的。Dave Keolle的博客对此进行了讨论。这可能是一个不同但相似的问题:@kkааСааааааааааааааа是的,并不是说您不能。我的看法: