Mam stringa datopodobnego "2011-12-07" i chciałbym wyciągnąć z niego 2011 i zwiększyć to o 1. Bardzo zależy mi na skrypcie, w którym nie występują żadne deklaracje zmiennych (nie chcę używać konwersji tego stringa do obiektu Date), właściwie to chodzi mi o to, żeby to było pojedyncze polecenie. Zauważyłem, że dobrze działa coś takiego:
Kod
parseInt("2011-12-07".substring(0,4))+1;
ale z pewnych względów nie mogę użyć funkcji parseInt. Czy możecie podpowiedzieć mi jakiś sposób zrobienia tego samego, co powyższy kod bez użycia parseInt, dodatkowych zmiennych i konwersji do Date?
Wicepsik
25.10.2010, 19:52:00
parseFloat
Lewap
25.10.2010, 19:54:42
I bez parseFloat oczywiście
Crozin
25.10.2010, 20:00:35
Dlaczego nie możesz użyć ani parse*, ani utworzyć obiektu Date?
Lewap
25.10.2010, 20:05:10
Crozin, odpowiedź na Twoje pytanie nie zmieni faktu, że interesuje mnie tylko rozwiązanie niekorzystające z tego co napisałem. Może żeby nie brnąć w niepotrzebną polemikę, załóżmy na potrzeby wątku, że mam wrednego wykładowcę JavaScriptu, który zabrania mi używać tych funkcjonalności
skowron-line
25.10.2010, 20:06:25
Cytat(Lewap @ 25.10.2010, 19:54:42 )
I bez parseFloat oczywiście
http://jsfiddle.net/z48eX/ proszę bez parseInt i parseFloat, są inne sposoby aby sprowadzić stringa do inta
Edit: zły link.
Edit:
Cytat
załóżmy na potrzeby wątku, że mam wrednego wykładowcę JavaScriptu, który zabrania mi używać tych funkcjonalności
q*#@! debil
Crozin
25.10.2010, 20:17:35
JavaScript może w tle konwertować typy zmiennych, więc:
Takich sposobów jest jeszcze cała masa - wszystkie wykorzystują fakt, że JS jest językiem dynamicznie typowanym i konwersja String -> Integer może zachodzić w tle.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.