![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chcę posortować tablicę asocjacyjną od najmniejszej wartości do największej nie zmieniając dla danej wartości indeksu danego klucza. To w PHP robi natsort .
Jak zrobić to samo w javascript ? Zwykłe sort zmienia indeksy klucza . tablica do posortowania :
oczekiwany wynik w takiej kolejności : Kod Array(
[2] => 45 , [13] => 45 , [0] => 5 , [34] => 5 , [3] => 15 , [5] => 15 ); Ten post edytował fiasko 14.02.2012, 19:19:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Możesz objaśnić w jaki sposób ten oczekiwany wynik jest posortowany? Bo wygląda na mocno losową kolejność.
|
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
To jest posortowane po wartości, a potem po kluczu. Kolejność klucza nie gra dla mnie roli. Ważne, że klucz z wartością stanowią parę. Zwykłe sort się nie nadaje, bo zmienia kolejność wartości klucza i ustala ją od zera. na koniec odwracam kolejność indeksów i mam wartości od największej do najmierniejszej.
Ten post edytował fiasko 14.02.2012, 21:43:33 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]() ![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Fajnie ale jak ściągnąłem tą funkcję to okazało się że żeby działała potrzebuje on innej funkcji, która to z kolei też potrzebuje innych funkcji . No to ściągnąłem jakiś pakiet php.full.commonjs.min.js który ma 368 kB . Pakiet niestety ma jakieś błędy sam w sobie.
Ten post edytował fiasko 15.02.2012, 10:01:33 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Eh, gubisz się w najprostszych czynnościach, nie będzie z Ciebie wymiatacza.
http://phpjs.org/functions/natsort:478 Kod depends on: strnatcmp http://phpjs.org/functions/strnatcmp:541 Kod depends on: strcmp http://phpjs.org/functions/strcmp:533 Łącznie potrzebujesz trzech funkcji. Całego pakietu php.js nie instaluj, bo będą się działy bardzo nieprzyjemne rzeczy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:29 |