Autor | Zpráva | ||
---|---|---|---|
Zuzka21 Profil * |
#1 · Zasláno: 10. 10. 2011, 10:46:08
Zdravím,
mam jeden problém, který se mi nedaří vyřešit. Mám do javascriptu pomocí php načtené hodnoty - vypadají takto: osvit=[[1318222647000,0],[1318222948000,1.9],[1318223249000,4.7],[1318223550000,3.7],[1318223851000,2.3],[1318224152000,2.4],... První je časový údaj a z té druhé potřebuju najít maximum. Zkoušela jsem snad už vše ale nemůžu na to přijít. Mohl by jste mi někdo poradit jak na to? díky Zuzka |
||
Kajman_ Profil * |
#2 · Zasláno: 10. 10. 2011, 11:18:34
var maximum=null; for(var i=0;i<osvit.length;i++) { if(maximum===null || osvit[i][1]>maximum[1]) { maximum=osvit[i]; } } if(maximum) { window.alert(maximum[1]); } |
||
Zuzka21 Profil * |
#3 · Zasláno: 10. 10. 2011, 11:26:12
Juj
už to šlape - moc děkuju!!! |
||
1Pupik1989 Profil |
#4 · Zasláno: 11. 10. 2011, 05:30:57
Pole bych seřadil a vytáhl první záznam.
|
||
Zuzka21 Profil * |
#5 · Zasláno: 11. 10. 2011, 11:02:24
Zdravím,
měla bych ještě jeden dotaz. Mám dvě řady hodnot osvit=[[1318222647000,0],[1318222948000,1.9],[1318223249000,4.7],[1318223550000,3.7],[1318223851000,2.3],[1318224152000,2.4]... a line1=[[][][]... podobná data. Potřebovala bych je vypsat ale tak aby se mi ty hodnoty času (první údaj) shodovali. Abych na stejným řádku měla hodnotu při stejném času. Neměl by jste někdo nápad? Díky |
||
Kajman_ Profil * |
#6 · Zasláno: 11. 10. 2011, 11:15:58
Pokud jsou obě pole polí seřazena dle času, tak stačí procháze obě pole zleva doprava tak, že se bere údaj pro výpis z osvitu nebo z line1 podle toho, kde je menší nebo stejný čas.
|
||
Zuzka21 Profil * |
#7 · Zasláno: 11. 10. 2011, 11:28:28
Okaj díky za radu. Jdu se stím poprat.
|
||
_es Profil |
#8 · Zasláno: 13. 10. 2011, 10:01:15
Zuzka21:
> Mám do javascriptu pomocí php načtené hodnoty - vypadají takto: > osvit=[[1318222647000,0],[1318222948000,1.9],[1318223249000,4.7],[1318223550000,3.7],[1318223851000,2.3],[1318224152000,2.4],... > První je časový údaj a z té druhé potřebuju najít maximum. Ak by boli „riadky“ a „stĺpce“ v tej premennej prehodené, teda by to bolo v tvare: osvit=[[1318222647000,1318222948000,1318223249000,1318223550000,1318223851000,1318224152000,...],[0,1.9,4.7,3.7,2.3,2.4,...]] Math.max.apply(null, osvit[1]) |
||
Witiko Profil |
#9 · Zasláno: 13. 10. 2011, 17:01:33 · Upravil/a: Witiko
Krátké, ale neefektivní:
osvit.sort(function(a, b) { return b[1] - a[1]; })[0][1]; Delší, ale efektivnější: for(var i = 0, l = osvit.length, pole = new Array(l); i !== l; i++) pole[i] = osvit[i][1]; Math.max.apply(Math, pole); Nejefektivnější: [#8] _es |
||
Časová prodleva: 13 let
|
0