In Angular, I have interfaces which look like this (this is not my code):
export interface Vehicles {
    id: number;
    cars: Car;
    trucks: Truck;
}
Export interface Car {
    make: number;
    model: number;
}
Export interface Truck {
    make: number;
    model: number;
}
My service contains two functions doCarMath() and doTruckMath() that do calculations based on the API's returned values:
vehicleNumbers: Vehicles;
constructor(private http: HttpClient) {
    this.vehicleNumbers = {};
}
callID(id: string): Observable<Vehicles>{
    return this.http.get<Vehicles>(this.myURL+`/${id}`);
}
getMyCarNumbers(id) {
    this.callID(id).subscribe(results =>
    {
        this.vehicleNumbers = results;
    }
}
doCarMath(): number {
    return this.vehicleNumbers.car.make; / this.vehicleNumbers.car.model;
}
doTruckMath(): number {
    return this.vehicleNumbers.truck.make; / this.vehicleNumbers.truck.model;
}
I’d like to combine doCarMath() and doTruckMath() into one doMath() function by passing in an argument to specify either car or truck, like so:
doMath(p_vehicle): number {
    return this.vehicleNumbers.p_vehicle.make/this.vehicleNumbers.p_vehicle.model; // can p_vehicle be used here?
}
How can I use parameter p_vehicle here? The above throws intellisense errors for the p_vehicle parameter, but I don't have the code locally and can't share the error.
 
    