Commish13 Ответов: 1

Javascript отображает значение массива


У меня есть массив, в котором я показываю самое высокое целочисленное значение "посетители". Я также хотел бы отобразить значение "День", которое связано с самым высоким целым числом "посетителей". Прямо сейчас мой код отображает правильное значение "посетители", но отображает все значения для "дня". Ниже приведено то, что я пробовал. Спасибо за любую помощь.

Что я уже пробовал:

<!doctype html>

<meta charset="utf-8">
<title>Days

function addLoadEvent(func) { 
	  var oldonload = window.onload; 
	  if (typeof window.onload != 'function') { 
	    window.onload = func; 
	  } else { 
	    window.onload = function() { 
	      if (oldonload) { 
	        oldonload(); 
	      } 
	      func(); 
	    } 
	  } 
	} 
	
	addLoadEvent(mostPopularDays);
	addLoadEvent(function() { 
	  
	}); 
 		 
	  function mostPopularDays(week) {
			  var popularDays = [ {day: 'Sunday: ', visitors:'25'}, 
								  {day: 'Monday: ', visitors: '13'}, 
								  {day: 'Tuesday: ', visitors: '3'}, 
								  {day: 'Wednesday: ', visitors: '9'}, 
								  {day: 'Thursday: ', visitors: '6'}, 
								  {day: 'Friday: ', visitors: '16'}, 
								  {day: 'Saturday: ', visitors: '20' }		   	 
		   ];
		   
		   
var weekDay = popularDays.map(function(o) {
  return o.day;
});
  
var maximum = popularDays.map(function(x) {
  return x.visitors;
});

var maxValue = Math.max.apply(Math, maximum);

var index = maximum.indexOf(maxValue + '');

var value = weekDay.valueOf(maxValue);

 document.write(maxValue + ' : ' + index + '<br />');			
 document.write(value);				
}


<p id="lblmostPopularDays">lblmostPopularDays</p>

Dotnet_Dotnet

пробовать

var maximum = popularDays.map(функция(x) {
document.write(x.day);
возвращение x.посетителей;
});

1 Ответов

Рейтинг:
1

Bryian Tan

Вы можете попробовать что-то вроде приведенного ниже. Сначала найдите максимальное количество посетителей, а затем выполните поиск дня на основе номера счета.

mostPopularDays(10);

function mostPopularDays(week) {
    var popularDays = [{
            day: 'Sunday: ',
            visitors: '25'
        },
        {
            day: 'Monday: ',
            visitors: '13'
        },
        {
            day: 'Tuesday: ',
            visitors: '3'
        },
        {
            day: 'Wednesday: ',
            visitors: '9'
        },
        {
            day: 'Thursday: ',
            visitors: '6'
        },
        {
            day: 'Friday: ',
            visitors: '16'
        },
        {
            day: 'Saturday: ',
            visitors: '20'
        }
    ];


    var maxNumberVisitor = Math.max.apply(Math, popularDays.map(function(o) {
        return o.visitors;
    }));
    document.write('Highest visitor count = ' + maxNumberVisitor);
    let objPopularDay = popularDays.find(o => o.visitors === maxNumberVisitor.toString());
    document.write(' on ' + objPopularDay.day + '<br/>');

}


Выход: Наибольшее количество посетителей = 25 в воскресенье:

рабочий пример: Поисковый Массив[^]


Commish13

Спасибо, это прекрасно работает

Bryian Tan

Потрясающий. Не забудьте нажать на кнопку "Принять решение".