Faça um registro principalmente para lidar com números. Se os caracteres anteriores dos números forem iguais, os números serão comparados com os valores, em vez de comparações entre caracteres individuais.
função sortlikewin (v1, v2) {var a = v1.name; var b = v2.name; var reg = /[0-9]+ /g; var listA = a.match (reg); var listb = b.match (reg); if (! lista ||! listb.length); LISTA [i]; var strb = listb [i]; // o valor do número var numa = parseInt (stra); var numb = parseInt (strb); // se os números de sequência do número não forem iguais ou o prefixo não for igual, prefixa! a.localecompare (b);} else {// a string congruente do número (stra) === strb) {// Se for o último número, compare o sufixo do número se (i == Minlen - 1) {retorna a.substring (indexa) .localecompare (B.substring (indexb); parte antes de mais {a = a.substring (indexa + stra.length); b = b.substring (indexA + stra.length);}} // se a sequência do número não estiver completa, mas os valores forem iguais se (numa == numb) {// sinaliza o número de número de prefixos 0, o mais retorno '');} else {// Se os números não forem iguais, compare diretamente o tamanho dos números retorna numa - numb;}}}}}Como usar, Array.sort (Sortlikewin);
O exposto acima é o efeito da classificação pelo nome da imitação de arquivos Windows com base no JS. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!