Как я могу проверить, соответствует ли объект точно определенному формату типа в javascript - PullRequest
0 голосов
/ 28 марта 2020

Я должен проверить, соответствует ли какой-либо объект предметов определенному формату, как показано ниже. Эти элементы являются входными данными для компонента, и я хочу проверить правильность ввода. Я уже написал некоторый код для проверки правильности пунктов, но я хочу знать, может ли быть лучший способ написать это? Спасибо!

{
    main: {
        id: string,
        name: string,
    },
    drilldowns: [
        {
            id: string,
            name: string,
            elements: [
                {
                    id: string,
                    name: string,
                }
            ],
        }
    ],
 }


export const isValidItem = (item) => {
    if (!item.main || (item.main && !item.main.id))
        return false;

    if (item.drilldowns) {
        const invalidDrilldowns = item.drilldowns.filter(drilldown => {
            const invalidDrilldownElements =
                drilldown.elements &&
                drilldown.elements.filter(element => {
                    return !element.id;
                });
            return (
                !drilldown.id &&
                !drilldown.elements &&
                invalidDrilldownElements.length !== 0
            );
        });
        return invalidDrilldowns.length === 0;
    }

    return true;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...