Skip to content
Advertisement

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

I have this model:

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

and then I have another model and I need the sizeAndColor but without a array.

export interface Cart {
  options: SizeAndColors
}

How can I say at options that I want to have this interface without the array? is that possible ?

Advertisement

Answer

Assuming that SizeAndColors really is declared as an array type where the elements are objects with size and color properties (what’s in the question [doesn’t seem to be that][1]), I’d suggest splitting the original interface:

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

But if you can’t, you can use SizeAndColors[number] to access just the object part of that:

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

Again: That’s assuming it’s really defined as an array type, which it doesn’t seem to be in the question’s code.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement