Показать сообщение отдельно
  #5 (permalink)  
Старый 16.03.2018, 22:08
Интересующийся
Отправить личное сообщение для kakadyi Посмотреть профиль Найти все сообщения от kakadyi
 
Регистрация: 08.06.2017
Сообщений: 10

Сообщение от Nexus Посмотреть сообщение
Вроде работает.
var shedule={
		'пн': '7:00-19:00',
		'вт': '9:00-19:00',
		'ср': '9:00-19:00',
		'чт': '9:00-19:00',
		'пт': '9:00-19:00',
		'сб': '10:00-15:00',
		'вс': '10:00-15:00'
	},
	__week_days=['пн','вт','ср','чт','пт','сб','вс'],
	response=Object.keys(shedule).map(function(day){
		return {
			day:day,
			worktime:shedule[day]
		};
	}).sort(function(a,b){
		return __week_days.indexOf(a.day)-__week_days.indexOf(b.day);
	}).reduce(function(res,item,index,list){
		var row={from:item.day,to:void 0,worktime:item.worktime};
		if(!res.length)
			return [row];
		
		if(res[res.length-1].worktime==item.worktime)
			res[res.length-1].to=item.day;
		else
			res.push(row);
			
		return res;
	},[]).reduce(function(res,item){
		res[item.from+(item.to?'-'+item.to:'')]=item.worktime;
		
		return res;
	},{});
	
console.log(response);
После такого мне в свой код смотреть не хочется...
Просто моё уважение,умеете,могёте
Ответить с цитированием