Для подобных преобразований удобно использовать reduce:
[a,a,a,a,b,b,b,b,c,c].reduce(function(s, e, i) {
var t = s.pop() || {key: e, with: i};
if (t.key !== e) {
s.push(t);
t = {key: e, with: i};
}
t.before = i;
s.push(t);
return s;
}, []);
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.