'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 ?



Solution 1:[1]

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.

Solution 2:[2]

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[]
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2