Function differenceFromLast

Returns a function which yields difference compared to last value.

If no initial value is provided, the first difference will be returned as 0.

Difference can be returned in various formats:

  • 'absolute': numerical difference, without sign
  • 'numerical': numerical difference, with sign, so you can see if difference is higher or lower
  • 'relative': difference divided by last value, giving a proportional difference. Unsigned.
  • 'relativeSigned': as above, but with sign
let d = differenceFromLast(`absolute`);
d(10); // 0
d(11); // 1
d(10); // 1
let d = differenceFromLast(`numerical`);
d(10); // 0
d(11); // 1
d(10); // -1
let d = differenceFromLast(`relative`);
d(10); // 0
d(11); // 0.1
d(10); // 0.1
let d = differenceFromLast(`relativeSigned`);
d(10); // 0
d(11); // 0.1
d(10); // -0.1

An initial value can be provided, eg:

let d = differenceFromLast(`absolute`, 10);
d(11); // 1
  • Parameters

    • kind: DifferenceKind = ...

      Kind of output value

    • initialValue: number = Number.NaN

      Optional initial value

    Returns ((v: number) => number)

      • (v): number
      • Parameters

        • v: number

        Returns number