javascript - 我如何检查对象是否完全遵循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;
};