Задать вопрос
@Ne7Le4Der

Как правильно типизировать класс?

export class TimeSeries<T> {
    private readonly originalArray: T[];
    private readonly originalArrayLength: number;
    private readonly dateTimeField: keyof T;
    private readonly valueField: keyof T;
    private absoluteChange: number | undefined;

    constructor(originalArray: T[], dtField: keyof T, valueField: keyof T) {
        this.dateTimeField = dtField;
        this.valueField = valueField;
        this.originalArray = originalArray;
        this.originalArrayLength = originalArray.length;
    }

    calculateAbsoluteChange() {
        this.absoluteChange=
            this.originalArray[this.originalArrayLength][this.valueField] / 
            this.originalArray[0][this.valueField];
    };  
}


Ошибка в
calculateAbsoluteChange() {
        this.absoluteChange=
            this.originalArray[this.originalArrayLength][this.valueField] / 
            this.originalArray[0][this.valueField];
    };


The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type
The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
export class TimeSeries<T extends Record<string, number>>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы