Este artículo analiza el principio del método de clasificación de matriz en JS. Compártelo para su referencia. El análisis específico es el siguiente:
Recientemente, he usado matrices de clasificación en proyectos de Baidu. Por supuesto, naturalmente pensé en el método de clasificación de las matrices al principio. Este método es muy simple de aplicar, aproximadamente como sigue:
La copia del código es la siguiente: window.onload = function () {
var arr = [2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var arr2 = ["George", "John", "Thomas", "James", "Adrew", "Martin"];
función arrrsort (a, b) {
regresar ab;
}
console.log (arr.sort (arrsort)); // La clasificación de números requiere una función. Si desea ordenar de gran a pequeño, regrese BA;
console.log (arr2.sort ()); // Las letras no son necesarias
}
Pero de repente pensé por qué el uso de clasificación es tan simple y ¿cuál es su principio? Así que intenté no ordenar la matriz con clasificación. El principio es encontrar el valor mínimo de la matriz e insertarlo en una nueva matriz, luego eliminar el valor mínimo en la matriz y luego actualizar la matriz y continuar buscando el valor mínimo para insertarlo. Este bucle es el siguiente:
La copia del código es la siguiente: window.onload = function () {
var arr = [2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var len = arr.length;
console.log (arr.join (","));
var newarr = [];
para (var i = 0; i <len; i ++) {
newarr.push (math.min.apply (null, arr)); // inserta el valor mínimo en la nueva matriz
arr.splice (r (arr, math.min.apply (null, arr)), 1); // Después de insertar, elimine el valor mínimo inmediatamente
}
// Encuentra la posición del valor mínimo en la matriz
función r (s, v) {
para (k in s) {
if (s [k] == v) {
regresar k;
}
}
}
console.log (newarr.join (","))
}
PD: Este es solo un método que escribí. El principio de clasificación no debe ser así. También puede ordenar la matriz utilizando el método de burbujas. No escribiré el código. Hay muchos de ellos en Internet. Por supuesto, el código anterior solo clasifica la matriz de números. Para la clasificación de cadenas, puede considerar el método LocalEcompare de la cadena.
Espero que este artículo sea útil para la programación de JavaScript de todos.