Todo va bien con el método orderBy al ordenar varios campos en una tabla HTML. El campo Puntuación A estará en orden descendente mientras que el campo Puntuación B estará en orden ascendente. Digamos que tenemos esta tabla con los siguientes datos:
Name Score A Score B A 3 B 7 C 8 D 1 E 2Usando el método orderBy :
_.orderBy(scores, ['score_a', 'score_b'], ['desc', 'asc']);La visualización sería:
Name Score A Score B E 2 B 7 C 8 A 3 D 1Sin embargo, quiero priorizar la visualización de un campo en particular y quería que el campo Score A se muestre primero en lugar de Score B . La visualización deseada sería:
Name Score A Score B C 8 A 3 D 1 E 2 B 7¿Cómo lograr esto? Intenté también encadenar métodos de lodash. ¿Es esto algo que debería ajustarse en la pantalla? Necesito tus increíbles aportes. Gracias.
Intercambiar la puntuación 'a' y 'b' puede resolver el problema
var scores = [{ 'score': 'a', 'a': 3, 'b': 0 }, { 'score': 'b', 'a': 0, 'b': 7 }, { 'score': 'c', 'a': 8, 'b': 0 }, { 'score': 'd', 'a': 1, 'b': 0 }, { 'score': 'e', 'a': 0, 'b': 2 } ]; // Sort by `user` in ascending order and by `age` in descending order. console.log(_.orderBy(scores, ['b', 'a'], ['asc', 'desc'])); <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>