En el artículo anterior, presenté el método de clasificación de la matriz de clasificación de JavaScript y el método de clasificación autoimplementado para usted, y utilicé mi propio método para implementar la clasificación de matrices numéricas.
Por supuesto, en uso real, es más conveniente para mí usar el método de clasificación. Sin embargo, en mi publicación de blog anterior, solo implementé una clasificación numérica, ¡mientras que el método srot puede ordenar las letras de forma predeterminada! Mi código solo puede clasificar los números, y todavía se ve débil.
Entonces, tengo que agregar un método de clasificación que pueda clasificar letras o incluso chinos.
Código de implementación
$ (function () {var arr = ["Jack", "Libro", "Fung", 76, "Amor", "Marca", "China", "China", "Teléfono", "Andy Lau"]; Console.log ('Original Array'); console.log ('arr); console.log (' para el método clasificado de pequeño a pequeño a pequeño a grande '); console.log (' arrsortMintomax (arr)); console.log ('para el método ordenado de grande a pequeño'); console.log ('arrsortMaxTomin (arr)); console.log (' original matriz '); console.log (' arr);}); function arrminnum (arr) {var minnum = infinity, index, índice. "; arr [i]; minvul = arr [i] index = i;}}}; return {"minnum": minvul, "index": index};} function arrsortMintomax (arr) {var arrnew = []; var arreD = arr.concat (); for (var i = 0; i <r.length; i ++) {arrnew.push (arrminnum (arrold) .minnum); arrold.splice (arrMinnum (arrold) .index, 1)}; return (arrNew);} function arrMaxnum (arr) {var maxnum = -infinity, index = -1, maxvul = "; (typeof (arr [i]) == "String") {if (arr [i] .CharCodeat ()> maxnum) {maxnum = arr [i] .charCodeat (); maxvul = arr [i]; index = i;}} else {if (arr [i]>> maxnum) {maxnum = arr [i]; maxvul = arr [Índice =]; i;}}}; return {"maxnum": maxvul, "índice": index};} función arrsortMaXTOMIN (arr) {var arrnew = []; var arred = arr.slice (0); for (var i = 0; i <arr.length; i ++) {arrNew.push (arrmaxnum (arrold) .maxnum); arrold.splice (arrMaxnum (arrold) .index, 1);}; return (arrnew);}La captura de pantalla en ejecución es la siguiente:
Principio de clasificación
Si es un número, se compara directamente con el número.
Si se trata de una cadena, se convierte en una codificación de Unicode usando charcodeat () para clasificar.
Unicode es un entero entre 0 a 65535
Otras instrucciones
Según la lógica de clasificación normal, debería ser: los números son más pequeños que todas las letras, las letras son más pequeñas que todos los chinos y los chinos deben clasificarse de acuerdo con la primera letra del pinyin del primer personaje.
Mi código no se ha implementado, excepto que las letras son más pequeñas que todos los chinos.
La lógica también debe realizarse, descubra los caracteres chinos en los números, compare los números con matrices, compare letras con letras, compare chino con chino y luego matrices de empalme
Puede ser un poco más problemático obtener las iniciales de la primera letra en chino.
Los caracteres chinos se pueden comparar directamente.
Como se muestra en la imagen de arriba, tiene sentido que Zhang Fei sea el jefe. Javascript finalmente hizo famoso a Zhang Fei mil años después. ¡Debería haber sido el jefe en ese entonces! ~