Я почти решил эту проблему, но у меня есть стек о том, как поместить определенное значение в массив. Идея состоит в том, чтобы "сгруппировать" массив, имеющий тот же идентификатор, и объединить все его значения в одно свойство в этом случае.свойство "персонаж", это уже сделано, мне удалось решить его, проблема в том, что я не могу получить значение свойства роли, как я могу его получить?я пробовал map, но я получил массив ролей от индекса 0 до 2. Я также пробовал _.forEach, но тот же результат я использую lodash.
var groupArr = [ { id: 'Jesse', role: 'merchant', character: 'Orc', }, { id: 'David', role: 'hero', character: 'Blade Knight', }, { id: 'Jesse', role: 'merchant', character: 'Elf', }, { id: 'Steve', role: 'villain', character: 'Undead OverLord', }, { id: 'Jesse', role: 'merchant', character: 'Wizard', }, ]
var output = _(groupArr).groupBy(a => a.id).map((objs, key) => ({
'id': key,
'role': key,
'character': _.map(objs, 'character')
}))
.value();
console.log(output);