Как найти элемент во вложенных объектах массивов
есть объект
const columnsForWidgets = {
firstCol: {
name: 'firstCol',
items: ComponentsWidgets.ComponentsArr,
},
secCol: {
name: 'secCol',
items: ComponentsWidgets.ComponentsArr2,
},
thirdCol: {
name: 'thirdCol',
items: ComponentsWidgets.ComponentsArr3,
},
fourthCol: {
name: 'fourthCol',
items: ComponentsWidgets.ComponentsArr4,
},
};
В ключе items лежит еще массив типа
[
{
id: 'MttrWidget',
show: true,
comp: () => <MttrWidget />,
},
{
id: 'BotCount',
show: true,
comp: () => <BotCount />,
},
]
Они отрисовывают у меня виджеты на странице. Как добраться и изменить show на false в состоянии ? т.к они отрисовываются только если show true
Ответы (1 шт):
Автор решения: grad
→ Ссылка
Полагаю есть и более изящные решения.
По быстрому придумал что-то такое
const keysObj = Object.keys(columnsForWidgets);
const result = keysObj.map(key => {
const column = columnsForWidgets[key];
const items = column.items.map(item => ({
...item,
show: true
}))
return {
...column,
items
}
})