【发布时间】:2021-05-16 07:20:25
【问题描述】:
我想将创建 fromEntries 的对象的类型更改为 Program 接口:
interface exerciseCategory {
[exerciseCategories: string]: string[];
}
interface muscleGroup {
[muscleGroups: string]: exerciseCategory;
}
export default interface Program {
[days: string]: muscleGroup;
}
const program: Program = {
"Day 1": {
Chest: {
warmUp: ["parallel bar dips"],
main: ["Bench Press", "Inclined Bench press", "Decline Bench press"],
secondary: ["Dumbbell Flys", "Cable Crossover Flys", "Pec-deck Fly"],
},
Biceps: {
Lola: ["Barbell Curl", "Preacher Curl"],
bobo: ["Hammer Curls", "Cable Curl", "Dumbbell Curl"],
},
},
"Day 2": {
Shoulders: {
coso: ["parallel bar dips"],
coque: ["Bench Press", "Inclined Bench press", "Decline Bench press"],
sdary: ["Dumbbell Flys", "Cable Crossover Flys", "Pec-deck Fly"],
},
Abs: {
main: ["Crunch", "Leg raises"],
},
},
"Day 3": {
Back: {
warmUp: ["parallel bar dips"],
main: ["Bench Press", "Inclined Bench press", "Decline Bench press"],
secondary: ["Dumbbell Flys", "Cable Crossover Flys", "Pec-deck Fly"],
},
Triceps: {
main: ["Barbell Curl", "Preacher Curl"],
secondary: ["Hammer Curls", "Cable Curl", "Dumbbell Curl"],
},
},
};
const days: Array<[string, object]> = Object.entries(program);
days[0][0] = 'New day name'
const newProgram:Program = Object.fromEntries(days)
但是对于 const newProgram:Program = Object.fromEntries(days) 我得到: 输入 '{ [k: string]: object; }' 不可分配给类型“程序”。 索引签名不兼容。 “object”类型不能分配给“muscleGroup”类型。 类型“{}”中缺少索引签名
我怎样才能让它工作?
【问题讨论】:
标签: typescript