首页 > 解决方案 > 是否可以使用 Typescript 将数组的值限制为给定的字符串值子集?

问题描述

考虑:

enum allowedValues {'x','y'}

export interface X {
  evaluation: string[]; // TODO: how to constrain to contain only the values 'x' or 'y';
}

我尝试声明evaluation为枚举:evaluation: shownEvaluation[]; 我也尝试过evaluation: keyof allowedValues;

是否可以使用 Typescript 将数组的值限制为给定的字符串值子集?

标签: arraystypescript

解决方案


是的!您需要为键声明联合类型:

type allowedValues = 'x' | 'y';

export interface X {
    evaluation: allowedValues[];
}

推荐阅读