Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Алгоритм по определению пары по времени (https://javascript.ru/forum/dom-window/68161-algoritm-po-opredeleniyu-pary-po-vremeni.html)

retvisan 29.03.2017 15:10

Алгоритм по определению пары по времени
 
Приветствую формучане!
Делаю сайт для не ПТУ, а колледжа)
В общем нужно сделать счетчик по определению пары по времени и дня недели по дате. Если со вторым я справился, то второе вызвало большие затруднения.
8:30-10:05-первая пара
10:15-11:50-вторая пара
12:30-14:05-третья пара
14:15-15:50-четвертая пара
15:55-17:30-пятая пара
т.е. пара идет 1:35
если по времени пары нет, то должно быть сказано , что пар нет
помогите чем можете,пример прилагаю ниже
спасибо

retvisan 29.03.2017 15:12

Вложений: 1
вот что я сделал

ksa 29.03.2017 15:23

Цитата:

Сообщение от retvisan
8:30-10:05-первая пара
10:15-11:50-вторая пара
12:30-14:05-третья пара
14:15-15:50-четвертая пара
15:55-17:30-пятая пара

Превратить все это в массив объектов... Написать функцию, которая примет время, пройдет по тому массиву... Если время попадет в некий интервал - вернет номер этого интервала...

retvisan 29.03.2017 15:30

как установить этот интервал? просто если задать просто проход по массиву, то он будет искать совпадение, это нужно прописать в функции? как это сделать?

рони 29.03.2017 15:46

retvisan,
:-?
var arr = [[830,1005],[1015,1150]], num = 930;

function fn(arr,num)
{
  var text = "нет пар или перемена"
  for (var i=0; i<arr.length; i++)  if(arr[i][0]<=num && num <= arr[i][1] ) {text = (i + 1) + " пара"}
  return text

}
alert(fn(arr,num));

ksa 29.03.2017 15:49

Цитата:

Сообщение от retvisan
как установить этот интервал?

Программно...
var arr=[
	{beg: '8:30', end: '10:05'},
	{beg: '10:15', end: '11:50'},
	{beg: '12:30', end: '14:05'},
	{beg: '14:15', end: '15:50'},
	{beg: '15:55', end: '17:30'}
];

Цитата:

Сообщение от retvisan
просто если задать просто проход по массиву, то он будет искать совпадение

Задай не просто... :)
Сравнивай попадание некоего времени в твои интервалы...

Rise 29.03.2017 16:00

Цитата:

Сообщение от retvisan (Сообщение 448854)
нужно сделать счетчик

А что он считает?

retvisan 29.03.2017 16:35

а почему при запуске кода он говорит, что сейчас первая пара?)

ksa 29.03.2017 16:38

Цитата:

Сообщение от retvisan
а почему при запуске кода он говорит, что сейчас первая пара?

Потому, что
Цитата:

Сообщение от рони
num = 930


retvisan 30.03.2017 10:40

т.е. num=930 это по сути продолжительность пары?


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