gpt4 book ai didi

javascript - 类型 '0' 中缺少属性 'any[]',但类型 '[{ id : string; gp: boolean; }] 中是必需的

转载 作者:行者123 更新时间:2023-12-01 01:25:08 25 4
gpt4 key购买 nike

界面是这样的

 export interface Patient {
doctors: [{
id: null,
gp: null,
}]
}

这是我的元组

  linkedDoctorShort: Array<any> = []; // will contain only the ID and GP 

我尝试了一些在 StackOverflow 上找到的解决方案,但仍然遇到同样的错误,尤其是当我想保存所有信息时:

  onSave() {
const patientInfo: Patient = {
doctors: this.linkedDoctorShort,
};

错误信息:

Property '0' is missing in type 'any[]' but required in type '[{ id: string; gp: boolean; }]'.

感谢您的帮助

最佳答案

linkedDoctorShort: Array<any> = [];不是元组。它是一个用空数组初始化的数组。

如果您希望这是一个数组(doctors 可以有任意数量的元素),请在界面中使用数组类型

 export interface Patient {
doctors: Array<{
id: null,
gp: null,
}>
}

如果您只想要一个元素(即长度为 1 的元组)。然后在 linkedDoctorShort 的类型中使用它并相应地对其进行初始化:

export interface Patient {
doctors: [{
id: null,
gp: null, // are you sure these can only be null ? I think you mean soemthing like string | null
}]
}

let linkedDoctorShort: [any] = [{ id: null, gp: null }]; // Or better yes let linkedDoctorShort: [Patient['doctors'][0]] to keep type safety

const patientInfo: Patient = {
doctors: this.linkedDoctorShort,
};

关于javascript - 类型 '0' 中缺少属性 'any[]',但类型 '[{ id : string; gp: boolean; }] 中是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56474226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com