I TypeScript, hur deklarerar jag en funktion som returnerar en array av typen string?


Möjliga dubbletter:

I TypeScript, hur deklarerar jag en array av funktioner som tar en sträng och returnerar en sträng?: I detta inlägg pratar användaren om att returnera en strängarray från en funktion med hjälp av lambda-uttryck.

Hur man deklarerar returtyper för funktioner i TypeScript: I det här inlägget pratar användaren om (hur jag kan deklarera en returtyp för funktionen) som nämnts i hans inlägg.

Båda länkarna ovan är inte möjliga duplicat till min fråga. Så låt oss börja.

Vad jag förväntade mig i min kod: En funktion som returnerar en strängarray, till exempel public _citiesData: string[];.

Jag har en TypeScript-klassdefinition som börjar så här:

export class AppStartupData {
public _citiesData: string[];

constructor() {
    this.citiesData();
}

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

Jag får ett fel när jag bygger min kod:

Typen 'number' kan inte tilldelas typen 'string[]'

Svar #1

Ditt fel beror på att du returnerar värdet från push-metoden.

Push-metoden returnerar den nya längden på arrayen och därför försöker den konvertera ett nummer till en array av strängar.

Så, det du bör göra är detta:

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

Relaterade artiklar