Please assist, am trying to transform an object to an instance of something. I have the following data as object from an API:
{
"0": {
"0": {
"1": 2
},
"1": {
"1": 5
},
"2": {
"1": 9
},
"3": {
"1": 3
},
"4": {
"1": 1
}
},
"1": {
"0": {
"1": 7
},
"1": {
"1": 6
},
"2": {
"1": 10
},
"3": {
"1": 8
},
"4": {
"1": 4
}
}
}
my enums are as follows :
export enum Enum3 {
week1 = 0,
....
week4
}
export enum Enum2 {
day1 = 0,
.....
day10
}
export enum Enum1 {
monday = 0,
.....
friday
}
tried the following to declare but didn't work:
// number is the number of racers entering the race
let RaceDay: {[key: Enum1 ]: number };
let Days: {[key: Enum2 ]: RaceDay[Key] };
let Weeks: {[key: Enum3 ]: Days[Key] };
Weeks = ApiData; // data above.
How do i declare or instantiate such an object ? thank you.
You have a 3 times nested object structure:
interface RaceDay {
[key: string]: number
}
interface Days {
[key: string]: RaceDay
}
interface Weeeks {
[key: string]: Days
}
const data: Weeks = { } as Weeks; // your object with type of 'Object' as above
assigning your object works for me. Hope that's helping.