martes, 6 de octubre de 2020

Trick - Get top n values in JavaScript

Partiendo de la base de que disponemos de un array o un JSON con n resultados con k variables cada objeto del tipo [{variable1:value1, variable2:value2, ...variablek:valuek}... n-data] se puede obtener sólo los n objetos que tengan el máximo valor en alguna de las variables de la siguiente manera apoyándonos en las funciones sort y slice:

 

Si los datos provienen de un JSON, parseamos antes:

var data = JSON.parse(json);

sino directamente:

var topn = data.sort(function(a, b) { return a.variable1 < b.variable1 ? 1 : -1; })
                .slice(0, n);
 

donde n es el número que queremos obtener como máximo, y variable1 la variable con el
valor que queremos comparar. 


Hope its usefull!