В другом подходе, без lodash
, вы можете использовать reduce
:
const data=[{"pcc":"1ADA","markets":{"origin":"ORG","destination":"DES"}},{"pcc":"1ADA","markets":{"origin":"ORD","destination":"DES"}},{"pcc":"1ADA","markets":{"origin":"ORG","destination":"DES"}},{"pcc":"1AZA","markets":{"origin":"ORG","destination":"DES"}},{"pcc":"1AXA","markets":{"origin":"ORG","destination":"DES"}}]
const resp = data.reduce((acc, ele) => {
const ant = acc.find(x => x.pcc === ele.pcc);
if(!ant) return acc.concat({pcc: ele.pcc, markets: [ele.markets]});
ant.markets.push(ele.markets);
return acc;
}, []);
console.log(resp);
Можно получить текстовый файл определения отчета при экспорте кристаллического отчета как... Вы предположили, что он "Сообщает об Определении (TXT)", Он имеет кристаллическую версию и много информации для каждого раздела, такого как поля данных, форматирование, и т.д...
Я использовал что-то вроде этого однажды для отладки Crystal проблемы, это могло бы помочь:
AFAIK, нет никакого способа сделать это. Файлы CR находятся в закрытом и собственном формате.:-(
Проверьте http://www.reportminer.com/ , он включает инструмент сравнения (хотя после экспорта в текст вы можете использовать различие по вашему выбору) .
Используйте Crystal Reports SDK (Java или .Net версию) для преобразования иерархии объектов в XML представление.
Образцы:
RptToRdl.Com (http://www.RptToRdl.com) сделает это за вас за 25 долларов. Ознакомьтесь с их часто задаваемыми вопросами, и вы сможете сделать это бесплатно.