Javascipt – funkcje matematyczne

article-thumbnail

Czysty Javascript udostępnia nam kilka obiektów, które maja użyteczne dla nas metody. Obiekt Math realizuje jak sama nazwa wskazuje funkcje matematyczne. Dzięki temu oszczędzamy czas, gdyż nie musimy bawić się w odkrywanie koła na nowo. Zamiast implementować algorytm obliczający pierwiastek z liczby rzeczywistej, zapisujemy Math.sqrt() jesteśmy w domu.

Pierwszą z omawianych przeze mnie metod będzie Math.pow(). Pozwala ona podnieść liczbę do dowolnej potęgi. Jako argumenty przyjmuje dwie wartości: podstawę i wykładnik potęgi.

<script>
  alert(Math.pow(2,5));
</script>

Kolejną metodą tego obiektu jest Math.sqrt(), Zwraca ona pierwiastek kwadratowy podanej w argumencie liczby. Podobną do niej jest metoda Math.cbrt(), która realizuje to samo działanie, z tym, że zwraca pierwiastek sześcienny z argumentu.

<script>
  alert(Math.sqrt(16));
  alert(Math.cbrt(125));
</script>

Teraz przejdźmy do implementacji wartości bezwzględnej. Używamy do tego celu metody Math.abs(). Przyjmuje ona jako argument liczbę, z której wyciągamy wartość bezwzględną.

<script>
  alert(Math.abs(3-8));
</script>

Z kolei metoda Math.round() pozwoli nam zaokrąglić liczbę. Jako argument przyjmuje ona liczbę zaokrąglaną. Zawsze zwraca liczbę całkowitą. Aby uzyskać zaokrąglenie do n’tego miejsca po przecinku, musimy pomnożyć parametr funkcji razy 10n i uzyskany rezultat podzielić również przez 10n. Możemy też wymusić zaokrąglanie w dół. Służy do tego metoda Math.floor(), natomiast Math.ceil() zaokrągli liczbę w dół.

<script>
  function funkcja()
  {
    let input = document.getElementById('wynik');
  	let liczba = parseFloat(input.value);
    input.value = (Math.round(liczba*100)/100);
  }
</script>

<input id="wynik" >
<button onclick="funkcja()">Klik</buttom>

Możemy też użyć metod Math.max(), oraz Math.min() aby znaleźć największą i najmniejszą liczbę w spośród podanych. Wygląda to tak.

<script>
  function funkcja()
  {
    let input1 = document.getElementById('wynik1');
    let input2 = document.getElementById('wynik2');
  	const liczby = [1,2,3,4,5,6,9,2,4,10,20,3,5,6,1,2,0,42,23,523,9,2,1,4]
    
    let max = Math.max(...liczby);
    let min = Math.min(...liczby);
    
    input1.value = max;
    input2.value = min;
  }
</script>

<input id="wynik1" >
<input id="wynik2" >
<button onclick="funkcja()">Klik</buttom>

Zastosowałem tutaj tzw. spread operator. Stosuje się go głównie gdy chcemy przekazać funkcji wartości zawarte w tablicy, zamiast samej tablicy. Oczywiście powyżej omówiłem tylko kilka z licznych metod obiektu Math, w związku z tym, zachęcam do zapoznania się z Mozilla Developer Network, gdzie znajdziemy dokładny opis działania każdego z nich.