首页 > 解决方案 > 我如何检查对象是否完全遵循javascript中的某种类型格式

问题描述

我必须检查某些项目对象是否遵循某种格式,如下所示。这些项目被输入到组件中,我想检查输入的有效性。我已经写了一些代码来检查项目的有效性,但我想知道是否有更好的方法来编写它?谢谢!

{
    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;
};

标签: javascriptecmascript-6

解决方案


推荐阅读