我正在尝试检查某个特定的 key
是否只分配了一组 values
。此值在 Typescript 中列为 enum
。
请注意,我这样做是想像下面解释的那样直接检查 values
,但想检查 enum
类型。
我只需要检查 json
文件中使用的已知区域。
export type Regions = Na | Emea | Apac;
export interface Na {
NA: "na";
}
export interface Emea {
EMEA: "emea";
}
export interface Apac {
APAC: "apac";
}
我需要编写一个类似于下面的函数,它只检查已知值用于键 Region
function isValidRegion(candidate: any): candidate is Regions {
// if (candidate is one the type of Regions
// console.log("Regions valid");
// else
// console.log("invalid Regions are used in input JSON");
result = candidate;
return result;
}
最佳答案
做这样的事情:
function isValidRegion(candidate: any): candidate is Regions {
return Object.keys(Regions).some(region => region === candidate)
}
关于javascript - 如何检查 'key' 是否正确填充了 JSON 文件中的 'known' 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57942107/