From 5f5226787cb8279ee995f18e65167481ec2b4936 Mon Sep 17 00:00:00 2001 From: DCoded <dcoded@live.com> Date: Mon, 3 Aug 2020 14:42:55 -0400 Subject: [PATCH] Added median() --- js/utils.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/js/utils.js b/js/utils.js index 686924dddbc..01152144f8c 100644 --- a/js/utils.js +++ b/js/utils.js @@ -385,3 +385,19 @@ function deepAssign(target, source) { } } } + +/** + * Returns the median number of an array + * For more information about mean vs. median see + * https://www.clinfo.eu/mean-median/ + * @param {[number]} arr Does not need to be sorted + */ +function median(arr = []) { + arr.sort(); + + const mid = Math.ceil(arr.length / 2); + + return arr.length % 2 === 0 ? + (arr[mid] + arr[mid - 1] / 2) : + arr[mid - 1]; +} -- GitLab