Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Max z tablicy asocjacyjnej, jak policzyć ?
fiasko
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 1
Dołączył: 1.06.2010

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


Mam pytanie jak policzyć wartość maksymalną z takiej tablicy w javascript ?

zwykła tablica to wiem (IMG:style_emoticons/default/smile.gif)
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. var dane = new Array(23,45,67);
  3.  
  4. alert(Math.max.apply( Math, dane ));
[JAVASCRIPT] pobierz, plaintext

ale potrzebuję ustalić index klucza z najwyższą wartością z tej tablicy poniżej.

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. var dane = new Array();
  3.  
  4. dane[0] = 5 ;
  5. dane[3] = 15 ;
  6. dane[2] = 45 ;
  7. dane[34] = 5 ;
  8. dane[5] = 15 ;
  9. dane[13] = 45 ;
[JAVASCRIPT] pobierz, plaintext






Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
droslaw
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 33
Dołączył: 10.05.2011
Skąd: Krak

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


Taka metoda zwróci pierwszy index pod, którym leży najwyższa wartość:
Kod
Array.prototype.maxItemKey = function()
{
    var value; // Największa wartość.
    var key; // Klucz majwiększej wartości.
    for(var x in this)
    {
        if(this.hasOwnProperty(x)) // Dzięki temu funckja nie będzie brała pod uwagę m.in. własności maxItemKey, która teraz należy do prototypu Array.
            if(key == undefined || this[x] > value)
            {
                value = this[x];
                key = x;
            }
    }
    return key;
}

efektem tego kodu:
Kod
var dane = [];
dane[0] = 5;
dane[3] = 15;
dane[2] = 45;
dane[34] = 5;
dane[5] = 15;
dane[13] = 45;
alert(dane.maxItemKey());

Będzie okienko z liczbą 2.
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: 2.10.2025 - 19:27