Глядя, чтобы сгруппировать и создать соответствующий HTML на основе объекта.
const _ = require('lodash');
const items = [
{
value: 'fruit',
label: 'apple',
},
{
value: 'Mango',
label: 'Mango',
groupBy: 'fruit'
},
{
value: 'Orange',
label: 'Orange',
groupBy: 'fruit'
},
// Will need to group all above by fruit, similarly
{
value: 'vegetable',
label: 'artichoke',
},
{
value: 'aubergine',
label: 'aubergine',
groupBy: 'vegetable'
}
];
_renderItems = () => {
const itemsList = _.chain(items)
.map(item => (
this._renderItem(item)
))
.value()
return '<div class="item-container">'+ itemsList+'</div>'
}
_renderItem = (item = {}) => {
console.log(item)
}
_renderItems()
/*
desired output
<div class="fruit">
Label:Apple
Label:Mango
Label:Orange
</div>
<div class="vegetable">
label:artichoke
label:aubergine
label:broccoli
</div>
*/
Пример кода здесь прогресса здесь https://repl.it/repls/ElectronicUsableTheories. В общем, у меня проблемы с добавлением div-обертки на основе сгруппированного значения.
Поэтому все фрукты должны быть сгруппированы. Первый ключ не будет иметь ключа groupBy, но его значение будет ключом всех следующих элементов, которые необходимо сгруппировать.