Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 20:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Ordenar por múltiples criterios
Master100 pts·Objetos
Enunciado
Implementa una función que ordene un array de objetos según múltiples criterios de ordenamiento, aplicados en orden de prioridad.
La función recibe:
items: un array de objetos con propiedades de tipostringonumber.criterios: un array de objetos que describe el orden de clasificación. Cada criterio tiene:clave: nombre de la propiedad por la que ordenar.orden:"asc"(ascendente) o"desc"(descendente).
Los criterios se aplican en orden: el primero tiene mayor prioridad. Si dos elementos son iguales en el primer criterio, se usa el segundo criterio, y así sucesivamente.
Ejemplos
const personas = [
{ nombre: "Ana", edad: 30 },
{ nombre: "Luis", edad: 25 },
{ nombre: "Ana", edad: 25 },
];
ordenarPorMultiplesCriterios(personas, [
{ clave: "nombre", orden: "asc" },
{ clave: "edad", orden: "asc" },
]);
// [
// { nombre: "Ana", edad: 25 },
// { nombre: "Ana", edad: 30 },
// { nombre: "Luis", edad: 25 },
// ]
ordenarPorMultiplesCriterios(personas, [
{ clave: "edad", orden: "desc" },
{ clave: "nombre", orden: "asc" },
]);
// [
// { nombre: "Ana", edad: 30 },
// { nombre: "Ana", edad: 25 },
// { nombre: "Luis", edad: 25 },
// ]
Notas
- No modifiques el array original; devuelve uno nuevo.
- Los valores de las claves pueden ser
stringonumber. - La comparación de strings debe ser lexicográfica (usando
localeCompareo comparación directa). - Si
criteriosestá vacío, devuelve el array sin modificar.
Restriccionesexpand_more
- Dificultad: Master
- Completa todos los test cases para obtener los 100 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar