Показать сообщение отдельно
  #6 (permalink)  
Старый 15.05.2017, 14:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

SaM1001, Это не решение твоей задачи, но принцип, думаю, будет понятен.

var timestamps=[1494843562],i=0
for(i=0;i<9;i++)
	timestamps.push(timestamps[timestamps.length-1]-(Math.floor(Math.random()*(60*60-5*60+1))+5*60));
	
timestamps=timestamps.sort();
var response={},
	start=timestamps[0],
	end=start+15*60,
	point;
	
for(i=0;i<timestamps.length;i++){
	point=timestamps[i];
	
	if(point<start || point>end){
		start=point;
		end=start+15*60;
	};
	
	if(!response[start+'-'+end])
		response[start+'-'+end]=[];
	
	response[start+'-'+end].push(point);
}

console.log(response);
Ответить с цитированием