以下是我的尝试:
class PhraseService
phrasePosShortNames: [{ id: number, name: string }];
phrasePosNames = [
{
id: 0,
longName: '#',
shortName: '#'
},
{
id: 1,
longName: 'Noun',
shortName: '#'
},
{
id: 2,
longName: 'Verb',
shortName: 'V'
}
];
constructor( ) {
this.phrasePosShortNames = this.phrasePosNames.map(item => {
id: item.id,
name: item.longName
})
}
但这给了我一个错误:
严重级代码描述项目文件行抑制状态 错误TS2322类型'void []'不能分配给'[{id:number; name:string; }]”。 'void []'
类型中缺少属性'0'
有人能告诉我我做错了吗?
答案 0 :(得分:3)
this.phrasePosNames.map(item => {
return {
id: item.id,
name: item.longName
};
});
类型应该是
{ id: number, name: string }[]
或
Array<{ id: number, name: string }>
我会定义一个接口,这会使代码更具可读性。