Autor | Zpráva | ||
---|---|---|---|
Spectator Profil |
#1 · Zasláno: 23. 12. 2011, 16:12:41 · Upravil/a: Spectator
Dobrý večer,
už nějakou dobu hledám na internetu nějaké řešení pro třídění vícerozměrného indexovaného pole . EDIT: zapomněl jsem dpsat, že bych rád třídil vždy podle jednoho sloupce a ostatní hodnoty v řádku by poskočili zároveň se seřazenou hodnotou for (i = 0; i < visible_rows; i++) { column_content = new Array(); for (j = 0; j < visible_slopes; j++) { column_content[j] = $(".row" + i + " td." + j + "_slope").text(); } row_content[i] = column_content; } // Seřadit for (i = 0; i < visible_rows; i++) { for (j = 0; j < visible_slopes; j++) { $(".row" + i + " td." + j + "_slope").text(row_content[i][j]); } } funkce sort je na to podle mne krátká. Poradíte prosím, nebo pokud je už návrh tabulky špatný, tak mne prosím opravte |
||
Tori Profil |
#2 · Zasláno: 23. 12. 2011, 22:20:06 · Upravil/a: Tori
Nevím, nakolik je to efektivní, ale šlo by to třeba takhle:
// jako druhý param.je pořadí sloupce, podle kterého se řadí. Nezadaný = první. function serad(data, i) { var col = i || 0; var mySort = function(a, b) { if (a[col] > b[col]) { return 1; } else if (a[col] < b[col]) { return -1; } else { return 0; } }; return data.sort(mySort); } row_content = serad(row_content, 2); |
||
Spectator Profil |
#3 · Zasláno: 23. 12. 2011, 22:56:07
Tori:
Děkuji Vám, funguje to bezvadně, akorát se v tom budu muset trochu rozkoukat, abych pochopil jak. Děkuji |
||
Radek9 Profil |
#4 · Zasláno: 24. 12. 2011, 10:55:01
Tori:
Jen doplním: metoda sort sice vrací pole, ale vrací to staré. Po provedení této funkce se dá normálně pracovat s row_content a nemusí se do proměnné znovu ukládat. |
||
Časová prodleva: 4 dny
|
|||
peta Profil |
#5 · Zasláno: 28. 12. 2011, 10:18:50
Kdybys potreboval radit podle vice sloupcu naraz, muzes pouzit toto:
http://peter-mlich.wz.cz/web/js/pr/index.htm#arraysort |
||
Spectator Profil |
#6 · Zasláno: 28. 12. 2011, 20:23:25
peta:
Děkuji mnohokrát |
||
Časová prodleva: 12 let
|
0