У меня есть массив следующего типа.
interface IArray {
id: "message1" | "message2" | "message3";
message: string;
}
const myArray: IArray[] = [
{
id: "message1",
message: "Here is your message 1"
},
{
id: "message2",
message: "Here is your message 2"
}
]
Я хотел бы преобразовать его в индексированный объект со следующими типами.
const myObject = {
message1: "Here is your message 1",
message2: "Here is your message 2"
}
Я мог бы написать функцию который преобразует массив в объект.
const myObject: any = {};
myArray.forEach((arrElement) => {
myObject[arrElement.id] = arrElement.message;
});
Но myObject
имеет тип any
. в то время как я хочу, чтобы myObject
имел тип с индексированным keys
в зависимости от типа массива id
.