Non c'è modo di trovare il massimo / minimo nel caso generale senza scorrere tutti gli n elementi (se vai da, 1 a n-1, come fai a sapere se l'elemento n non è più grande (o più piccolo) del corrente max / min)?
Hai detto che i valori cambiano ogni paio di secondi. Se sai esattamente quali valori cambiano, puoi iniziare con i tuoi valori max / min precedenti e confrontarli solo con quelli nuovi, ma anche in questo caso, se uno dei valori che sono stati modificati era il tuo vecchio max / min, puoi è necessario ripeterli nuovamente.
Un'altra alternativa - ancora una volta, solo se il numero di valori che cambiano è piccolo - sarebbe quella di memorizzare i valori in una struttura come un albero o un mucchio, e quando arrivano i nuovi valori dovresti inserirli (o aggiornarli) in modo appropriato. Ma se puoi farlo non è chiaro in base alla tua domanda.
Se vuoi ottenere l'elemento massimo / minimo di un dato elenco mentre scorri tutti gli elementi, puoi usare qualcosa come lo snippet qui sotto, ma non sarai in grado di farlo senza esaminarli tutti
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;
}