Как создать комплексный объект, где под объекты наследуют одни и теже свойства?

Есть такой вот объект. Можно ли как то избавиться об дублирования свойств isCollapsed, isSelected в дочерних объектах

this.menus = [
            {
                platformAdministration: {
                    isCollapsed: false,
                    isSelected: false,
                    subMenus: [
                        {
                            platformAdministration: {
                                isCollapsed: false,
                                isSelected: false
                            }
                        },
                        {
                            accountConfiguration: {
                                isCollapsed: false,
                                isSelected: false
                            }
                        },
                        {
                            platformCofiguration: {
                                isCollapsed: false,
                                isSelected: false,
                                subMenus : [
                                    {
                                        systemSource : {
                                            isCollapsed: false,
                                            isSelected: false
                                        }
                                    },
                                    {
                                        propertyType : {
                                            isCollapsed: false,
                                            isSelected: false
                                        }
                                    }
                                ]
                            }
                        }
                    ]
                }
            },
            {
                accountAdministration: {
                    isCollapsed: false,
                    isSelected: false,
                    subMenus: [
                        {
                            userManagement : {
                                isCollapsed: false,
                                isSelected: false
                            }
                        },
                        {
                            accountConfiguration : {
                                isCollapsed: false,
                                isSelected: false
                            }
                        }
                    ]
                }
            }
        ];
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 2
@forevist
Front-End Developer
Самое быстрое и банальное, хранить ключи в массиве )
Если ключ не найден в isCollapsed => false
Ответ написан
Комментировать
https://jsfiddle.net/LcerLj86 Решение в лоб под ваш запрос. Но я бы поискал вариант попрактичней, а для этого нужно знать как эта структура применяется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы