Mam tablicę:
var tablica = [
["a", "b", 28],
["c", "d", 30],
["e", "f", 22]
....
]
Jak ją uporządkować od największej do najmniejszej na podstawie trzeciego elementu w każdej z nich?
Mam tablicę:
var tablica = [
["a", "b", 28],
["c", "d", 30],
["e", "f", 22]
....
]
Jak ją uporządkować od największej do najmniejszej na podstawie trzeciego elementu w każdej z nich?
Poprzez podanie funkcji pomocniczej do metody Array.sort
function Comparator(a, b) {
if (a[2] < b[2]) return -1;
if (a[2] > b[2]) return 1;
return 0;
}
tablica.sort(Comparator)
https://stackoverflow.com/questions/5435228/sort-an-array-with-arrays-in-it-by-string
Wielkie dzięki :D Ale niestety .sort nie radzi sobie z liczbami większymi od 10 a ja potrzebuję posortować liczby naturalne z zakresu 1-60; (od największej do najmniejszej)
Jak to sobie nie radzi?
adams0 napisał(a):
Wielkie dzięki :D Ale niestety .sort nie radzi sobie z liczbami większymi od 10 a ja potrzebuję posortować liczby naturalne z zakresu 1-60; (od największej do najmniejszej)
Sprawdź czy masz procesor wyprodukowany po 2012 r. Wcześniejsze rzeczywiście miały z tym problem.
Ano tak:
https://jsfiddle.net/e1odt5q0/5/
Algorytm @racuh zdaje egzamin. Wybacz. Ale jak odpalam samo sort to nie sortuje mi tego dobrze.
O dziwo nawet tablica.sort()
działa (sortuje wg pierwszego pola).
Może to ignorancja ale komu potrzebne sortowanie tylko wg pierwszego pola?
adams0 napisał(a):
Może to ignorancja ale komu potrzebne sortowanie tylko wg pierwszego pola?
Powiedziałbym raczej że to filozofowanie. Masz już rozwiązanie ale chyba szukasz sensu i porządku we wszechświecie.
Jeśli tak, to słaby język wybrałeś do tego celu.