Autor | Zpráva | ||
---|---|---|---|
Tomashek Profil |
#1 · Zasláno: 31. 8. 2009, 17:23:47
Dobrý den,
mám otázku zda jde v javascriptu zkontrolovat jestli jsou všechny položky v poli stejné. Mohl bych udělat podmínku, protože to pole ma pokaždé 5 položek (jsou to všední dny), ale chtěl bych to ulehčit, protože to by vypadalo docela otřesně: if(dayInp[0]==dayInp[1] && dayInp[1]==dayInp[2] && dayInp[2]==dayInp[3] &&dayInp[3]==dayInp[4] && dayInp[4]==dayInp[0] .... ) |
||
_es Profil |
#2 · Zasláno: 31. 8. 2009, 17:58:35 · Upravil/a: _es
Tomashek
To posledné porovnanie je nadbytočné. Pre také malé pole asi nemá zmysel vytvárať nejaký špeciálny spôsob porovnania. Ale niečo ma predsa len napadlo: if(Math.min.apply(void 0, dayInp) == Math.max.apply(void 0, dayInp)){/**/}; No nejako veľmi kratšie to nie je a funguje to len na číselné polia. |
||
ah01 Profil |
#3 · Zasláno: 31. 8. 2009, 19:03:56
Tomashek
Elegantně se to dá napsat v JS >= 1.6 (pouze Firefox a podobně). if(dayInp.every(function(i){return dayInp[0] === i})){ ... } Prostě se podíváš, jestli jsou všechny prvky rovné tomu prvnímu. Problém je ta metoda every, která bude ve většině prohlížečích chybět. Můžeš si ji ale doplnit. |
||
Časová prodleva: 15 let
|
0