Webbserver - Love Blomberg

Show sourcecode

The following files exists in this folder. Click to view.

public_html/gamla-kurser/webbutv2/övningar/js_array/

js_array_1.html
js_array_2.html
js_array_3.html
js_array_4.html
js_array_5.html
js_array_6.html

js_array_3.html

73 lines UTF-8 Windows (CRLF)
<!DOCTYPE html>
<html lang="sv">
<head>
  <meta charset="UTF-8">
  <title>JS Array 3</title>
</head>
<body>

<h1>JS Array 3</h1>
<label>
  Skriv in siffror med kommatecken emellan:
  <input type="text">
</label>
<button onclick="myFunction()">Addera array</button>
<div id="addSumDiv"></div>

<script>
  let addSumDiv = document.getElementById("addSumDiv");
  let inputText = document.querySelector("input");

  const array = [];

  function myFunction() {
    inputText.value.split(",").forEach((element) => {
      array.push(parseInt(element));
    });
    let sum = 0;
    for (let i = 0; i < array.length; i++) {
      sum += array[i];
    }
    logger("Summan av arrayen " + array + " är: " + sum);
    logger("Medelvärdet av arrayen " + array + " är: " + sum / array.length);
    logger("Sorterade arrayen: " + quickSort(array));
    logger("Medianvärdet av arrayen " + array + " är: " + median(array));
  }

  function median(array) {
    array.sort(function(a, b){return a-b});
    let half = Math.floor(array.length / 2);
    if (array.length % 2) {
      return array[half];
    } else {
    return (array[half - 1] + array[half]) / 2.0;
    }
  }

  function quickSort(array) {
    if (array.length <= 1) {
      return array;
    }

    let pivot = array[0];
    let left = [];
    let right = [];

    for (let i = 1; i < array.length; i++) {
      if (array[i] < pivot) {
        left.push(array[i]);
      } else {
        right.push(array[i]);
      }
    }

    return quickSort(left).concat(pivot, quickSort(right));
  }

  function logger(text) {
    addSumDiv.innerHTML += text;
    addSumDiv.innerHTML += "<br>";
  }
</script>
</body>
</html>