打字稿有没有办法从 属性 中删除数组?

typescript is there a way to remove the array from an property?

我有这个型号:

export interface SizeAndColors {
   size: string;
   color: string;
}[];

然后我有另一个模型,我需要 sizeAndColor 但没有数组。

export interface Cart {
  options: SizeAndColors
}

我怎么能在选项中说我想要这个没有数组的接口? 这可能吗?

假设 SizeAndColors 确实被声明为数组类型,其中元素是具有 sizecolor 属性的对象(问题中的内容 [似乎不是那个][1]), 我建议拆分原来的界面:

interface SizeAndColorsElement {
    size: string;
    colors: string;
}
export type SizeAndColors = SizeAndColorsElement[];

但如果不能,您可以使用 SizeAndColors[number] 来访问其中的对象部分:

export interface Cart {
    options: SizeAndColors[number];
}

再次:这是假设它确实被定义为数组类型,它似乎不在问题的代码中。

像这样定义你的界面

export interface SizeAndColors {
 size: string;
 color: string;
}

只在需要时才使用数组

export interface Cart {
 options: SizeAndColors[]
}