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)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
<!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>