![]() |
![]() ![]() |
![]() |
![]() ![]()
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 ![]()
ale potrzebuję ustalić index klucza z najwyższą wartością z tej tablicy poniżej.
|
|
|
![]()
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. |
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Niestety ale ta biblioteka prototype mi się gryzie z moim kodem i z jquery
![]() Potrzebuję rozwiązania w czystym JavaScript lub jquery. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
To nie jest biblioteka prototype - tylko czysty JS:)
Poczytaj co robi prototype w tym kodzie. Niestety twórcy jednego z popularnych framework-ów, niefortunnie użyli tej nazwy i to myli początkujących programistów JS. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 98 Pomógł: 33 Dołączył: 10.05.2011 Skąd: Krak Ostrzeżenie: (0%) ![]() ![]() |
Można też napisać zwykłą funkcję:
Kod function maxValueKey(arr) { var value; // Największa wartość. var key; // Klucz majwiększej wartości. for(var x in arr) { if(arr.hasOwnProperty(x)) if(key == undefined || arr[x] > value) { value = arr[x]; key = x; } } return key; } Poprzednia wersja jest o wiele wygodniejsza i byłoby lepiej gdyby można było ją zatosować. Masz jakieś komunikaty mówiące o tym w czym konkretnie przeszkadza metoda, którą podałem w pierwszym poście? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 04:28 |