Autor | Zpráva | ||
---|---|---|---|
Pavel978 Profil * |
#1 · Zasláno: 22. 6. 2009, 17:55:13
Dobrý den,
mám pole hodnot, které bych potřeboval seřadit dle české abecedy, metoda sort (bez parametru) bohužel nefunguje. Očekávám, že existuje nějaká možnost pomocí callbacku avšak sám to dohromady nedám. Mohl by mi s tímto problémem prosím někdo pomoci. Předem děkuji za jakoukoli reakci. |
||
Chamurappi Profil |
#2 · Zasláno: 22. 6. 2009, 18:01:47
Reaguji na Pavla978:
Viz Třídění pole dle české abecedy. |
||
Pavel978 Profil * |
#3 · Zasláno: 22. 6. 2009, 18:26:11
Teď vypadám jako ignorant, ale já jsem skutečně zkoušel hledat...zalíbilo se mi toto řešení
data.sort(function(a, b) { return a[0].localeCompare(b[0]); }); ale jako začátečníkovi mi dělá trochu problém...jakým způsobem to prosím funguje, co je to 'a' a 'b'? Jinak mi totiž vypíše že 0 má hodnotu null nebo není objekt. |
||
Pavel978 Profil * |
#4 · Zasláno: 22. 6. 2009, 18:58:57
Aha řešení je jednoduché...tak děkuji moc :-)
|
||
Chamurappi Profil |
#5 · Zasláno: 22. 6. 2009, 19:08:25
Reaguji na Pavla978:
V odkázaném vlákně se netřídí přímo pole řetězců, ale pole polí, které mají na prvním místě řetězec. Proto jsou tam a[0] a b[0]. Normální třídění pole by vypadalo takto: data.sort(function(a, b) { return a.localeCompare(b); }); data.sort(function(a, b) { return localeCompare(a, b); }); |
||
Pavel978 Profil * |
#6 · Zasláno: 23. 6. 2009, 10:28:37
Výborně, zas jsem o kousek chytřejší, ještě jednou díky moc!
|
||
Časová prodleva: 15 let
|
0