Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak obliczyć medianę
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 578
Pomógł: 6
Dołączył: 21.07.2008

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


Jak obliczyć medianę w JavaScript?
Jest takie zadanie:
https://dbm.org.pl/__TESTY/test-1.htm
Kto wie jak się to robi w JS i dla przykładu wyznaczy medianę wydatków,
o co chodzi z food, fuel w expenses?

Ten post edytował Malinaa 17.07.2024, 12:40:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




no a po co tam html? Ma to byc plik .js z takim kodem

Kod
    function getFirstSunday(year, month) {
            let firstDay = new Date(year, month - 1, 1);
            let firstSunday = new Date(firstDay);
            
            firstSunday.setDate(firstDay.getDate() + (7 - firstDay.getDay()) % 7);
            
            return firstSunday;
        }

        function calculateMedian(amount) {
            if (amount.length === 0) return null;
            
            amount.sort((a, b) => a - b);
            
            const middle = Math.floor(amount.length / 2);
            
            return amount.length % 2 !== 0 ? amount[middle] : (amount[middle - 1] + amount[middle]) / 2;
        }


function solution(expenses) {


        
        
            let allExpenses = [];
            
            for (let expense in expenses) {
                let [year, month] = expense.split('-').map(Number);
                let firstSunday = getFirstSunday(year, month);
                
                for (let day in expenses[expense]) {
                    let currentDate = new Date(year, month - 1, Number(day));
                    
                    if (currentDate <= firstSunday) {
                        for (let category in expenses[expense][day]) {
                            allExpenses.push(...expenses[expense][day][category]);
                        }
                    }
                }
            }
        
            return calculateMedian(allExpenses);
        
}

Tam html do niczego nikomu nie jest potrzebny

Cytat
to w wersji poprzedniej jak i poprawionej w konsoli wyświetli się to samo = wynik,

No to chyba dobrze ze to samo sie wyswietla co nie? (IMG:style_emoticons/default/wink.gif)

Cytat
więc nadal nie kumam, dlaczego musi być funkcja w funkcji.

No bo oni podali ci pseudokod jak ma wygladac ktory nie uwzglenial dodatkowych funkcji poza funkcja glowna. No to napisalem bys wrzucil funkcje do tej glownej. No ale jak widzisz wyzej wyrzucilem je po za. Zadowolony? (IMG:style_emoticons/default/smile.gif)
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: 29.12.2025 - 20:06