Sortowanie tablicy na podstawie wartości wewnętrznej tablicy

0

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?

0

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

0

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)

0

Jak to sobie nie radzi?

0
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.

0

Ano tak:
https://jsfiddle.net/e1odt5q0/5/
Algorytm @racuh zdaje egzamin. Wybacz. Ale jak odpalam samo sort to nie sortuje mi tego dobrze.

0

O dziwo nawet tablica.sort() działa (sortuje wg pierwszego pola).

0

Może to ignorancja ale komu potrzebne sortowanie tylko wg pierwszego pola?

1
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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1