Haga un récord principalmente para lidiar con los números. Si los caracteres anteriores de los números son los mismos, los números se comparan con los valores, en lugar de las comparaciones entre caracteres individuales.
function sort sortlikewin (v1, v2) {var a = v1.name; var b = v2.name; var reg = /[0-9]+ /g; var litaRa = a.match (reg); var listb = b.match (reg); if (! listA || listb.length); listA [i]; var strb = listb [i]; // El valor del número var numA = parseInt (stra); var numB = parseInt (strb); // Si los números de secuencia del número no son iguales o el prefijo no es igual, es un caso de diferentes prefijos, comparando directamente si (indexa! = indexb || prefixa! = prefixb) {retorny a.localeCompare(b);}else {//The string congruent of the number (stra) === strb) {//If it is the last number, compare the suffix of the number if (i == minLen - 1) {return a.substring(indexa).localeCompare(b.substring(indexb));}//If it is not the last number, loop to the next number and remove the same part antes de lo otro {a = a.substring (indexa + stra.length); b = b.substring (indexa + stra.length);}} // Si la cadena del número no está completa, pero los valores son iguales a lo contrario if (numa == numb) {// registrar el número de prefijos 0, más return strb.lastindexf (numbr + '') - stra.laster '');} else {// Si los números no son iguales, compare directamente el tamaño de los números return numA - numb;}}}}}Cómo usar, array.sort (sort comowin);
Lo anterior es el efecto de clasificar por nombre de la imitación de archivos de Windows basados en JS. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!