Prefacio
Ordenar una matriz es un requisito muy común, especialmente en el backend. Por supuesto, la interfaz también tiene este requisito.
Por supuesto, hay métodos listos para la clasificación de matriz. Es el método sort ().
Empecemos a mirar esto primero.
Respuesta estándar, método de clasificación
var arr = [45,98,67,57,85,6,58,83,48,18]; console.log ('original matriz'); consolte.log (arr); console.log ('ordenar método clasificado desde pequeño a grande'); console.log (arr.sort (function (a, b) {return ab})); small '); console.log (arr.sort (function (a, b) {return ba})); console.log (' ordenar método ordenado de grande a pequeño '); console.log (arr.sort (function (a, b) {return ba}));Los resultados de la operación son los siguientes:
Cabe señalar aquí que el tipo se clasifica alfabético de forma predeterminada. Por lo tanto, cuando organizamos números, necesitamos una función personalizada.
Como código anterior
función (a, b) {return AB}
Esta es una función de clasificación de pequeña a grande. Parece muy simple, pero no entiendo, así que implementaré la clasificación de acuerdo con mis ideas ~
Mi respuesta, para el tipo de método
var arr = [45,98,67,57,85,6,58,83,48,18];console.log('original array');console.log('arr');console.log('for method sorted from small to large');console.log('arrSortMinToMax(arr));console.log('for method sorted from large to pequeño '); console.log (' arrsortMaxTomin (arr)); // Encuentre el valor más pequeño en la función de matriz arrMinnum (arr) {var minnum = infinity, index = -1; for (var i = 0; i <arr.length; i ++) {if (arr [i] <innum) {minnum = arr [i]; Índice = i;};}; {"Minnum": minnum, "índice": index};} // Devuelve el resultado de la clasificación de pequeña a grande en la función de matriz arrsortMintomax (arr) {var arrnew = []; var arred = arr.concat (); for (var i = 0; i <arr.length; i ++) {arrnew.push (arrminnum (arrold) .minnum); arrold.splice (arrminnum (arrold) .index, 1)}; return (arrNew);} // Encuentra el valor más grande en la función de la matriz ArraxNum (arr) {var maxnum = -infinition, index = -1; para (var i = 0; i <ArrmaxNum (arr) {var maxnum = -infinity, index = -1; para (var i = 0; i <arr. l) (arr [i]> maxnum) {maxnum = arr [i]; index = i;}}; return {"maxnum": maxnum, "index": index};} // return el resultado de clasificar desde grande a pequeño en la función de matriz arrsortmaxtomin (iver (var) arr.length;Los resultados de la operación se muestran en la figura a continuación
Puntos de conocimiento en mi método
1. Cuando una función necesita devolver múltiples datos, es más conveniente usar el formato de objeto JSON. Por ejemplo, el retorno {"minnum": minnum, "índice": índice} arriba;
2. Si usa el método var Arrold = ARR para copiar una matriz y operar en Arrold, afectará la matriz original de ARR. Porque JavaScript se divide en tipos primitivos y tipos de referencia (similar a Java y C#). La matriz es un tipo de referencia. Arrod obtiene una referencia, por lo que la modificación a Arrold afectará a ARR .
Métodos para copiar matrices (i) var Arrold = arr.concat (); , Principio: La función concat () es una función utilizada para empalmar múltiples matrices. Este método de escritura es equivalente a empalmarse. Es decir, copiar.
Métodos para copiar matrices (2) var Arrold = arr.slice (0). Principio: La función SLICE () es una función que intercepta matrices. Establecer el valor en 0 es interceptarlos a todos, lo cual es equivalente a la copia.
3. El método de empalme () se usa para insertar, eliminar o reemplazar elementos de una matriz. Aquí está la característica que utiliza sus ubicaciones eliminadas en la matriz.
4. La diferencia entre mi método y el método de clasificación.
Mi método no modifica la matriz original, mientras que Sort es una modificación basada en la matriz original.
Mi método devuelve una nueva matriz, y la matriz original no ha desaparecido o cambiado. (Parece ser lo mismo que la oración anterior ...)
5. La clasificación es un punto de conocimiento muy, muy básico y muy importante en la programación. La clasificación de la clasificación es relativamente baja al ejecutar una gran cantidad de datos. Por supuesto, la eficiencia de mi método también es muy baja.
Este artículo se reproduce en: http://blog.csdn.net/fungleo/article/details/51555590
Lo anterior es todo el contenido del método de clasificación de la matriz de clasificación de JavaScript y el método de clasificación de autoimplementación que el editor le presentó. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje. El editor le responderá a tiempo. Muchas gracias por su apoyo al sitio web de Wulin Network.