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