From 67ccd13fbe5f41ab50693a153b771d41b90af1b5 Mon Sep 17 00:00:00 2001 From: Yurii Synyshyn Date: Fri, 31 Jan 2025 19:28:35 +0100 Subject: [PATCH] fix issue #16 --- stats.js | 2 +- test/index.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/stats.js b/stats.js index 66ca458..67801f4 100644 --- a/stats.js +++ b/stats.js @@ -85,7 +85,7 @@ function mode(vals) { // multi-modal if (rank.length == vals.length) { // all values are modes - return vals + return new Set(vals) } var modes = new Set([mode]) var modeCount = dist[mode] diff --git a/test/index.js b/test/index.js index cd54fae..5ed3cfe 100644 --- a/test/index.js +++ b/test/index.js @@ -81,6 +81,10 @@ test("mode", function (t) { t.deepEquals(mode([1, 2, 2, 2, 3, 14]), 2, "mode works") + t.deepEquals(mode([1, 2]), new Set([1, 2]), "all values are modes works") + + t.deepEquals(mode([1, 2, 3, 4]), new Set([1, 2, 3, 4]), "all values are modes works") + t.deepEquals(mode([1, 1, 7, 5, 5, 8, 7]), new Set([1, 5, 7]), "multi-modal works") t.deepEquals(mode([1, 1, 7, 5, 5, 8, 7]), new Set([1, 7, 5]), "multi-modal works and order doesn't matter (yay Set)")