En JavaScript, implementa matrices multidimensionales y clasificación de matrices de objetos, básicamente utilizando el método nativo de sort () para ordenar los elementos de la matriz.
No hablaré sobre su uso básico, veamos primero un simple ejemplo de clasificación:
// Sortalphabéticamente y ascendente: VarmyArray = ["Bob", "Bully", "Amy"] myArray.sort () // Arraynow se convierte en ["Amy", "Bob", "Bully"]]
Después de que la matriz se llama sort () directamente, la matriz clasifica los elementos en la matriz alfabéticamente. Para decirlo con mayor precisión, se clasifica en el orden de la codificación de carácter.
Echemos un vistazo a la clasificación de números:
// Sortnumery y ascendente: VarmyArray = [25, 8, 7, 41] myArray.sort (function (a, b) {returna - b}) // Arraynow se convierte en [7, 8, 25, 41]Sort (Fun) acepta una función de clasificación, que compara los tamaños de 2 números. El principio de nuestra clasificación de matriz de objetos es en realidad el mismo.
Para la clasificación de la matriz de objetos, primero escribimos una función que construye la función de comparación:
// por función toma una cadena de nombre de miembro como un parámetro // y devuelve una función de comparación que se puede usar para clasificar una matriz de objetos que contienen el miembro varby = function (name) {returnfunction (o, p) {vara, b; if (typeOfo ==== "objeto" && tipofp === "Object" && o && p) {A = O [name]; b = p [name]; {return0;} if (tipofa === typeofb) {return <b? -1: 1;} returnTyPeof a <typeofb? -1: 1;} else {throw ("error");}}}}Matriz para clasificar:
varemployees=[]employees[0]={name:"George",age:32, retiredate:"March12, 2014"}employees[1]={name:"Edward",age:17, retiredate:"June2, 2023"}employees[2]={name:"Christine",age:58, retiredate:"December20, 2036 "} Empleados [3] = {nombre:" Sarah ", edad: 62, retirado:" Abril 30, 2020 "}Llame a la función directamente:
empleados.sort (por ("edad"));En este punto, el orden de las matrices de objetos se implementa básicamente. Entonces, ¿cómo implementar múltiples clases de valor clave? Significa primero clasificar la edad, y si la edad es la misma, comparar el nombre.
En este momento, podemos modificar aún más la función para que pueda aceptar el segundo parámetro. Cuando el valor clave principal produce una coincidencia, se llamará a otro método de comparación para determinar el nivel.
// por función acepta una cadena de nombre de miembro y una función de comparación secundaria opcional como parámetros // y devuelve una función de comparación que puede usarse para clasificar la matriz de objetos que contiene el miembro // cuando o [edad] y p [edad] son iguales, la función de comparación secundaria se usa para determinar el nivel de varby = function (nombre, menor) {returnfunction (o, p) {vara, b; if ((o & & py & p. 'Object' && typeofp === 'Object') {a = o [name]; b = p [name]; if (a === b) {returntypeof minor === 'function'? menor (o, p): 0;} if (tipofa === typeofb) {returna <b? -1: 1;} returnTyPeof a <typeofb? -1: 1;} else {thro ("error");}}} empleados.sort (por ('edad', por ('nombre')));Ok, ahora puedes usarlo con confianza. Si no lo entiende, puede copiar la función por parte de su aplicación y llamarlo directamente.
Lo anterior es la descripción completa del método de ejemplo de clasificación de la matriz de objetos JavaScript introducido por el editor para usted. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!