【发布时间】:2021-07-09 11:53:14
【问题描述】:
interface P{
data: {
sub: number
[key: string]: {
arr: Array<number>
}
}
}
我的数据可能是
data = {
sub: 1,
DYNAMIC1: [1,2,3],
DYNAMIC2: [3,4,5]
}
或
data = {
sub: 1,
RANDOM1: [3],
DYNAMIC1: [9,0,0]
}
我的 IDE 抛出此错误消息
'number' 类型的属性 'sub' 不能分配给字符串索引类型 '{ arr: number[]; }'.ts(2411)
如何才能同时使用静态属性名和动态
添加
我已经使用了|,但另一个代码仍然出错。
{
data[key].map((num:number, index:number)=> ...) // key can not be `sub`. key always be the type `Array<number>`
}
上面的代码抛出这个错误信息
类型“数字”上不存在属性“地图”|数字[]'。类型 'number'.ts(2339) 上不存在属性 'map'
【问题讨论】:
标签: typescript