Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти минимальное число в массиве случайных чисел (https://javascript.ru/forum/misc/73269-najjti-minimalnoe-chislo-v-massive-sluchajjnykh-chisel.html)

lainlie 02.04.2018 21:26

Найти минимальное число в массиве случайных чисел
 
function vyv(){ 
	var arr=[] ;
    document.getElementById("IshMas").value ="";
    var min = -100; 
    var max = 100;
    var one = document.getElementById("Chislo").value;
    for ( var i =0; i<one; i++)
        {
            var rand = min+Math.random()*(max-min+1);
            rand = Math.round(rand);
            arr[i]=rand;
            document.getElementById("IshMas").value = document.getElementById("IshMas").value + rand;
            if (i<one-1){
                document.getElementById("IshMas").value=document.getElementById("IshMas").value + ",";
            }
     }
}

При нажатии на кнопку, выводится массив случайных чисел чисел. (см выше)
Как сделать, чтобы при нажатии на чекбокс, выводилось минимальное число.
Вот этот код не работает:
function Cl(){ 
if (document.getElementById("MinElem").checked){
    var MinEl = arr[0];
    for (var k = 0; k <arr.length; k++) {
        if (MinEl > arr[k]) {
		MinEl = arr[k];} }
} alert(MinEl);
}

Malleys 02.04.2018 21:50

<input type="number" id="Chislo" value="5">
<button onclick="vyv();">Generate</button>
<input type="checkbox" id="MinElem">
<input id="IshMas">

<script>

function vyv(){ 
	var arr = [] ;
    document.getElementById("IshMas").value = "";
    var min = -100; 
    var max = 100;
    var one = document.getElementById("Chislo").valueAsNumber;
   
    for (var i = 0, rand; i < one; i++) {
            rand = Math.round(min + Math.random() * (max - min + 1));
            arr[i] = rand;
     }
     
     document.getElementById("IshMas").value = arr.join(",");
     document.getElementById("MinElem").onclick = Cl.bind(null, arr);
}


function Cl(arr){ 
  if(document.getElementById("MinElem").checked) {
    var MinEl = Infinity;
    for(var i = 0, len = arr.length; i < len; i++) {
      if(MinEl > arr[i])
        MinEl = arr[i];
    }

    alert(MinEl);
  } 
}

</script>


Сравните

рони 02.04.2018 23:27

Цитата:

Сообщение от Malleys
valueAsNumber

в ie похоже это не работает?


Часовой пояс GMT +3, время: 20:22.