Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazywanie nazwy funkcji w parametrze funkcji, obsługa sortowania
Apocalyptiq
post
Post #1





Grupa: Zarejestrowani
Postów: 230
Pomógł: 3
Dołączył: 8.01.2008

Ostrzeżenie: (10%)
X----


Robię sortowanie tabeli. Używam do tego JSowskiej funkcji sort z przypisaniem funkcji sortującej, wygląda to mniej więcej tak:

Kod
function sortByNumber(a,b){

return a-b;

}

var tablica=[5,2,64,34,2,3,64,3];

tablica.sort(sortByNumber);


No i takie coś ładnie działa. Tylko że ja mam nieco bardziej te funkcje rozbudowane, no i chcę sortować według kilku kolumn. Można jakoś w parametrze funkcji przekazać nazwę funkcji, żeby przemycić ją później jako parametr sort()? Chodzi mi o coś takiego:

Kod
function sortuj(obiekt,funkcja){

..... troche kodu przechwytywującego z obiektu elementy, które ma posortować - tworzy tablice z tymi elementami ....

tablica.sort(funkcja);

}


Takie coś mi nie działało (jak w argumencie podawałem albo funkcja, albo funkcja(), albo function funkcja() ). Jak takie coś uzyskać?



Wrzuciłem hamsko nazwe funkcji tak samo, jak podaje się w tym sort - i w FF takie coś działa, ale w Operze nie :/ Wie może ktoś co tutaj nie tak interpetuje Opera? I jak to naprawić? Może jakiś inny sposób sortowania zrobić, żeby też na operze działało (nie sort, a napisać własną taką funkcje)? Ale samo sort w operze działało, tylko że jak pokombinowałem z tym przekazywaniem nazwy funkcji jako parametr funkcji, w Operze JS przestalo działać :/

Ten post edytował Apocalyptiq 29.12.2008, 11:00:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dyktek
post
Post #2





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

Ostrzeżenie: (0%)
-----


nie wiem czy dobrze Cię zrozumiałem ale zrobiłem coś takiego:
  1. function sortByNumber(a,b){
  2.  
  3. return a-b;
  4.  
  5. }
  6.  
  7. var tablica = [5,2,64,34,2,3,64,3];
  8.  
  9. function sortuj( object, func ){
  10. object.sort( func );
  11. }
  12.  
  13. sortuj( tablica, sortByNumber );
  14.  
  15. alert( tablica );


i działa w operze, ff i ie
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 06:29