Autor | Zpráva | ||
---|---|---|---|
Luky Profil |
#1 · Zasláno: 28. 7. 2011, 11:50:46
Zdravím,
potřeboval bych script, který mi rozdělí slova (čísla) na dvě části. Například 4:6 na 4 a 6. Můj problém je v tom, že nevím jak tyto dvě čísla uložit do své proměnné (tak aby číslo 4 bylo v proměnné 1 a číslo 6 v proměnné 2). Děkuji za každou radu |
||
Michal Benda Profil |
#2 · Zasláno: 28. 7. 2011, 12:03:23 · Upravil/a: Michal Benda
|
||
peta Profil |
#3 · Zasláno: 28. 7. 2011, 14:02:53
alert('4:6'.split(':')); a = '4:6'.split(':'); alert(a[0]); alert(a[1]); alert('abcdef'.split('')); |
||
Witiko Profil |
#4 · Zasláno: 28. 7. 2011, 17:42:45 · Upravil/a: Witiko
Luky:
Metoda String.prototype.split() je ekvivalentem php funkce explode() pro rozdělení textového řetězce na pole. Není bez zajímavosti, že argumentem může být kromě řetězce i regulární výraz:
"jablko, pomeranč nebo banán a kiwi".split(/\s+a\s+|\s*,\s*|\s+nebo\s+/); » ["jablko", "pomeranč", "banán", "kiwi"] Metoda Array.prototype.join() pak přetypuje a naopak spojí veškeré buňky pole do jednoho řetězce a vloží mezi ně řetězec předaný ve volitelném prvním argumentu:
["1", 2, {toString: function() {return 3;}}].join(", "); » "1, 2, 3" Do petova kódu si stačí doplnit deklaraci proměnné var a = '4:6'.split(':'); a jedná se o zcela legitimní ukázku.
|
||
Luky Profil |
#5 · Zasláno: 28. 7. 2011, 21:18:22
Díky všemto je přesně ono. dělám to jenom v PHP a v JS se moc nevyznám.
|
||
Luky Profil |
#6 · Zasláno: 28. 7. 2011, 21:18:55
Díky všem to je přesně ono. dělám to jenom v PHP a v JS se moc nevyznám.
|
||
Časová prodleva: 7 dní
|
|||
peta Profil |
#7 · Zasláno: 4. 8. 2011, 10:51:19
"Metoda String.prototype.split() je ekvivalentem php funkce explode()"
Kdyz myslis :) alert('abcdef'.split('')); echo explode('','abcdef'); //If delimiter is an empty string (""), explode() will return FALSE $a = 'abcdef'; echo $a[3]; |
||
Witiko Profil |
#8 · Zasláno: 4. 8. 2011, 12:02:14 · Upravil/a: Witiko
peta:
Ok, je zde drobný rozdíl v implementaci, nicméně rámcově se jedná o funkce se stejným účelem. Volat String.prototype.split() s prázdným řetězcem pro rozdělení řetězce na pole znaků totiž povětšinou nedává valný smysl, jelikož většina potřebných funkcí je dostupná jak pro String.prototype tak pro Array,prototype a ty, co nejsou, jsou pak z velké části generické - tzn. volatelné i pod kontextem řetězce.
Jinak rád bych tě poprosil, abys do zveřejňovaných kódů přestal vpisovat alert y - stačí komentář, přičemž <script> tagy také můžeš vypustit. Místní komunita nespadla z Marsu a debugování alertem je až na pár výjimek doménou začátečníků, jelikož to na rozdíl od konzole zdržuje a neposkytuje adekvátní výsledky u neprimitivních typů.
|
||
Časová prodleva: 13 let
|
0