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)")