Calc Медиана JavaScript - PullRequest
       9

Calc Медиана JavaScript

0 голосов
/ 28 мая 2018

Мне нужна кнопка "Медиана", которая вычислит медиану нарисованных чисел из таблицы.

<html>
<head>
<title> Numery losowania </title>
<script>
    var n1= Array.from({length: 9}, () => Math.floor(Math.random() * 70));
 
    document.writeln("<table border = \"1\"");

    n1.sort((a,b) => a-b); // sort the array
   
    for(var i=0; i < n1.length;i++)
    {
        document.writeln("<tr><td>" + n1[i] + "</td></tr>");
    }
    document.writeln("</table>");
</script>
<form>
<input type="button" value="Odśwież" onclick="location.reload()">
</form>
</head>

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

var n1= Array.from({length: 9}, () => Math.floor(Math.random() * 70));
n1.sort((a,b) => a-b); // sort the array

var tableData = "";
for(var i=0; i < n1.length;i++)
{
    tableData += "<tr><td>" + n1[i] + "</td></tr>";
}
document.getElementById("dataTable").innerHTML = tableData;

function getMedian() {
    if(n1.length%2==0)
      document.getElementById("medianDiv").innerHTML = "median is: "+(n1[(n1.length/2)-1]+n1[n1.length/2])/2;
    else
      document.getElementById("medianDiv").innerHTML =  "median is: "+n1[(n1.length-1)/2];
}
<html>
<head>
<title> Numery losowania </title>
<form>
<input type="button" value="Odśwież" onclick="location.reload()">
<table border=1 id="dataTable"></table>
<input type="button" value="Get Median" onclick="getMedian()">
<div id="medianDiv"></div>
</form>
</head>
0 голосов
/ 28 мая 2018

Вы можете использовать следующий метод:

function median(numbers) {
    var median = 0, count = numbers.length;
    numbers.sort();

    if (count % 2 === 0) {  // is even
        median = (numbers[count / 2 - 1] + numbers[count / 2]) / 2;
    } else { // is odd
        median = numbers[(count - 1) / 2];
    }

    return median;
}

Обновление 1: Согласно вашему требованию

<script>
    function median(numbers) {
        var median = 0, count = numbers.length;
        numbers.sort();

        if (count % 2 === 0) {  // is even
            median = (numbers[count / 2 - 1] + numbers[count / 2]) / 2;
        } else { // is odd
            median = numbers[(count - 1) / 2];
        }

        document.getElementById("median").innerHTML = median;
    }

    var n1= Array.from({length: 9}, () => Math.floor(Math.random() * 70));
    ...
    ...
    document.writeln("</table>");
    document.writeln("<button onclick=median("+n1+")>Median</button>");
    document.writeln("<div id=\"median\"></div>");

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...