Home > front end >  typescript is there a way to remove the array from an property?
typescript is there a way to remove the array from an property?

Time:04-30

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 ?

CodePudding user response:

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.

CodePudding user response:

Define you interface like this

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

and use array only when you need it

export interface Cart {
 options: SizeAndColors[]
}
  • Related