30秒学会 JavaScript 片段 · 2020年1月7日

30秒学会 JavaScript 片段 – percentile

Uses the percentile formula to calculate how many numbers in the given array are less or equal to the given value.

Use Array.prototype.reduce() to calculate how many numbers are below the value and how many are the same value and apply the percentile formula.

代码片段

const percentile = (arr, val) =>
  (100 * arr.reduce((acc, v) => acc + (v < val ? 1 : 0) + (v === val ? 0.5 : 0), 0)) / arr.length;

使用样例

percentile([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 6); // 55