可能重复:
更新说明:
Link1:在这篇帖子中,用户使用lamda表达式讨论返回字符串数组。
Link2:在这篇帖子中,用户正在谈论(我如何声明函数的返回类型),如他的帖子所述。
以上两个链接都不可能与我的问题重复。所以让我们开始吧。
我在代码中期待的是一个返回字符串数组的函数Ex:public _citiesData: string[];
我有一个类似于以下内容的TypeScript类定义:
export class AppStartupData {
public _citiesData: string[];
constructor() {
this.citiesData();
}
citiesData():string[] {
return this._citiesData.push('18-HAZARI','A.K','ABBOTABAD');
}
}
在构建代码时出错
Type 'number' is not assignable to type 'string[]'
答案 0 :(得分:6)
您的错误是因为您返回了push方法的值。
推送方法returns the new length of the array,这就是为什么它试图将数字转换为字符串数组。
那么,你应该做的是:
citiesData():string[] {
this._citiesData.push('18-HAZARI','A.K','ABBOTABAD');
return this._citiesData;
}