Skip to content

Commit fbcd000

Browse files
committed
JavaScript Ejercicio: 1445 Ordenar un Arreglo de Objetos Según Sus Propiedades y Modo de Orden
Ordenar un Arreglo de Objetos Según Sus Propiedades y Modo de Orden con el lenguaje de programación JavaScript.
1 parent 61ed3d3 commit fbcd000

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Ejercicio 1445: Ordenar un arreglo de objetos según sus propiedades y modo de orden.
2+
3+
// modo de orden: ascendente, descendente
4+
5+
function orderPor(objetos, propiedades, modosOrden) {
6+
return [...objetos].sort((a, b) => propiedades.reduce((acumulador, p, i) => {
7+
if (acumulador === 0) {
8+
let [m, n] = modosOrden && modosOrden[i] == 'DESCENDENTE' ? [b[p], a[p]] : [a[p], b[p]];
9+
10+
acumulador = m > n ? 1 : m < n ? - 1 : 0;
11+
}
12+
13+
return acumulador;
14+
}, 0))
15+
}
16+
17+
let computadores = [
18+
{id: 37, marca: 'Intel'},
19+
{id: 31, marca: 'Apple'},
20+
{id: 29, marca: 'MSi'},
21+
{id: 31, marca: 'Samsung'},
22+
];
23+
24+
let resultado = orderPor(computadores, ['id', 'marca'], ['ASCENDENTE', 'DESCENDENTE']);
25+
console.log(resultado);
26+
27+
console.log();
28+
29+
resultado = orderPor(computadores, ['id', 'marca'], ['DESCENDENTE', 'ASCENDENTE']);
30+
console.log(resultado);

0 commit comments

Comments
 (0)