No hay forma de encontrar el máximo / mínimo en el caso general sin recorrer todos los n elementos (si pasa de 1 a n-1, ¿cómo sabe si el elemento n no es más grande (o más pequeño) que el corriente max / min)?
Mencionaste que los valores cambian cada dos segundos. Si sabe exactamente qué valores cambian, puede comenzar con sus valores máximos / mínimos anteriores y comparar solo con los nuevos, pero incluso en este caso, si uno de los valores que se modificaron era su antiguo máximo / mínimo, puede Necesito recorrerlos nuevamente.
Otra alternativa, nuevamente, solo si la cantidad de valores que cambian es pequeña, sería almacenar los valores en una estructura como un árbol o un montón, y cuando lleguen los nuevos valores, los insertaría (o actualizaría) de manera apropiada. Pero si puede hacerlo, no está claro según su pregunta.
Si desea obtener el elemento máximo / mínimo de una lista determinada mientras recorre todos los elementos, puede usar algo como el fragmento a continuación, pero no podrá hacerlo sin pasar por todos ellos.
var list = { "a":4, "b":0.5 , "c":0.35, "d":5 };
var keys = Object.keys(list);
var min = list[keys[0]];
var max = list[keys[0]];
var i;
for (i = 1; i < keys.length; i++) {
var value = list[keys[i]];
if (value < min) min = value;
if (value > max) max = value;
}