2017-01-26 8 views
-1

重複の可能性:Typescriptで文字列型の配列を返す関数をどのように宣言しますか?

Link1:ラムダ式を使用して関数からの戻り文字列配列の話この記事のユーザーで

説明を更新しました。

Link2:彼の記事で述べたように、このポストユーザー(私は関数の戻り値型を宣言することができます)で話しています。

上記のリンクは、私のこの質問に対する重複はありません。だから、始めましょう。私は、自分のコードに例の文字列配列を返す関数を期待していた何

public _citiesData: string[];

私はこのように始まり活字体のクラス定義があります:私を構築しているときにエラーを取得

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

'文字列が[]' **です:

だから、何あなたがすべきことは、このです。あなたが受け取っているメッセージの[mcve]を与えてください。 – jonrsharpe

+0

上記の@jonrsharpe上記のエラーは、私のコードをビルドするときに受け取ったものです。 –

+0

@jonrsharpe戻り値の型が配列型のtypescriptでクラス関数を宣言する方法の例を教えてください。上記のコードを実行すると、私が記述したエラーが表示されます。 –

答えて

6

エラーは、thの値が返されているためですeプッシュ法。

プッシュメソッドreturns the new length of the arrayです。そのため、数値を文字列の配列に変換しようとしています。あなたは文字列の配列を入力する方法**

citiesData():string[] { 
    this._citiesData.push('18-HAZARI','A.K','ABBOTABAD'); 
    return this._citiesData; 
} 
+0

真剣に私が見逃していることは?私は言葉がありません。まあありがとう。なぜ私はdownvoted得るか教えてください?それは私の評判に影響を与えます。 –

+0

私は考えていない、それは私ではなかった。 – vintem

+0

@AhmerAliAhsanは、「ちょっと違う」*は実際に説明していないため、エラーを特定するのに役立つ完全なトレースバックを実際には含んでいないためです。 – jonrsharpe

関連する問題