Autor Zpráva
peta
Profil
Potrebuji seradit slova v poli tak, aby prvni byla nejkratsi a podle abecedy
(pripadne naopak, funkce reverse o obrati)
Cili:
a
ah
aho
ahoj
ble
bleble
(resp. ja to budu potrebovat ze spodu nahoru)

Problem je, ze
arr.sort() si to seradi, jak chce a
arr.sort(function(a,b){return b-a;}); neni o nic lepsi
arr.sort(function(a,b){return (b.length-a.length);}); asi nejlepsi vysledek
ah01
Profil
Nějak nechápu „arr.sort() si to seradi, jak chce a“, mě to řadí tak jak chceš (podle abecedy a podle délky), nebo ty to potřebuješ podle délky a pak podle abecedy?
peta
Profil
ah01
jj, mas pravdu. Pracoval jsem na starem souboru.
Delam si JS kompresi a tam to potrebuji nahradit od nejdelsich, coz resi reverze. Tak nic, no :)
ah01
Profil
Mimochodem: pokud potřebuješ řadit „pozpátku“, můžeš sort zavolat takto:
pole.sort( function(a,b){ return -a.localeCompare(b);  } );

a ušetřit si jeden „reverse“ :-)
peta
Profil
ah01
mno, ja myslim, ze volat pokazde funkci local compare a funkci(a,b), ze rychlejsi je reverse. Nic, mizim spat, kdyztak brzo dam kod na kodovani JS. jede to paradne, akorat minimalizuji a objevili se mi tam zas chybky
peta
Profil
V podstate mi to funguje, ale u nekterych JS s --> ' " <-- to zlobi. Mam pocit, ze to v te vystupni textarea odmaze lomitka (slashes), ale uz nemam silu to kontrolovat.
Zrovna Demo teda jede :)
http://www.volny.cz/peter.mlich/Pr/compressx.htm
Toto téma je uzamčeno. Odpověď nelze zaslat.

0