Цитата:
|
kakadyi,
var obj = { 'пн': '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' } function fn(b) { var e = void 0;//хранилище return Object.keys(b).reduce(function(f, a, c, d) { c = b[a] == b[d[++c]]; // равно текущее значение следующему или нет d = void 0 === e; //хранился ключ с прошлого раза или нет c && d ? e = a : c || d ? !c && d && (f[a] = b[a]) : (f[e + "-" + a] = b[a], e = void 0); //c && d если значения равны и хранилище пусто, сохраняем текущий ключ e = a // !c && d && (f[a] = b[a]) иначе если значения неравны и хранилище пусто сохраняем ключ и значение ключа в новом обьекте // (f[e + "-" + a] = b[a], e = void 0) иначе если значения неравны и хранилище непусто сохраняем значение из хранилища + ключ и значение ключа в новом обьекте // и обнуляем хранилище return f; //возращаем обьект {} для следующей итерации }, {}); }; var output = fn(obj); alert(JSON.stringify(output)); оператор-вопросительный-знак reduce object-keys-obj сериализация-метод-json-stringify |
рони,
Спасибо! |
Часовой пояс GMT +3, время: 15:48. |