Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вывести максимальное число элементов массива (https://javascript.ru/forum/dom-window/59162-vyvesti-maksimalnoe-chislo-ehlementov-massiva.html)

unkind 30.10.2015 11:29

Вывести максимальное число элементов массива
 
Здравствуйте!
Вводится последовательность из пяти чисел. Напишите сценарий, в котором определяется число максимальных элементов.
Данные ввести могу,а вот результат не выводится(только начал изучать,извините за плохой код)
<html>
<head><meta charset="utf-8">
<script language="JavaScript">
var array = new Array(5);
var i;
for(i=0;i<=5;i++)
{
array[i]=prompt("Введите " +i+" -е число:");
 }

function nummax (array)
    { var m= v[0]
      var k=1
      for (var z=1; z <= v.length-1; z++)
        { if (v[z] > m)
          {m= v[z]; k=1}
        else 
        if (v[z] == m) k++
        }
      return k
	
	 document.write ("Сумма ", m)
 
    }
	

</script>
</head>
<body>

</body>

</html>

ruslan_mart 30.10.2015 12:34

Получить максимальное значение массива можно так:

var arr = [3, 5, 10, 8, 2],
    max = Math.max.apply(null, arr);

alert(max);

unkind 30.10.2015 12:41

Ruslan_xDD,
спасибо за элегантность,но я пытаюсь сам сделать, что не так в моем коде?может я не так вывожу данные?

рони 30.10.2015 13:22

Цитата:

Сообщение от Ruslan_xDD
max = arr.sort()[0];

:blink: :stop:

ruslan_mart 30.10.2015 13:37

рони, знаю, но как один из многих вариантов подойдёт. :)

unkind, потому что return возвращает значение, т.е., после него код в ф-ции уже не срабатывает, а у Вас там document.write.

unkind 30.10.2015 13:40

Ruslan_xDD,
вот я и спросил как вывести грамотно,убрал ретурн и ничего

рони 30.10.2015 13:51

Цитата:

Сообщение от Ruslan_xDD
знаю, но как один из многих вариантов подойдёт.

каким местом?
var arr = [3, 5, 1, 8, 20],
    max = arr.sort()[0];
    alert(max);

ruslan_mart 30.10.2015 13:55

рони, ой всё :D Ошибся, бывает.

unkind, а вызов функции где? :)

рони 30.10.2015 13:58

:)
var arr = [3, 5, 1, 8, 20],
    max = arr.sort(function(a,b) {
     return b - a // а для ТС   return +b - +a
})[0];
    alert(max);

unkind 30.10.2015 13:58

Ruslan_xDD,
так я же пытаюсь вывести в теле функции или нужно отдельно создавать вывод?
пробовал через alert и так же ничего


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