From ab3928694ffa15c21cb14018b8dedaae229f3fac Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Tue, 31 Dec 2019 19:56:33 +0200 Subject: [PATCH] Optimize arrayUnique (#6871) --- src/scales/scale.time.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/scales/scale.time.js b/src/scales/scale.time.js index e2f74e056..92b6a2006 100644 --- a/src/scales/scale.time.js +++ b/src/scales/scale.time.js @@ -66,19 +66,18 @@ function sorter(a, b) { } function arrayUnique(items) { - const hash = {}; - const out = []; - let i, ilen, item; + const set = new Set(); + let i, ilen; for (i = 0, ilen = items.length; i < ilen; ++i) { - item = items[i]; - if (!hash[item]) { - hash[item] = true; - out.push(item); - } + set.add(items[i]); + } + + if (set.size === ilen) { + return items; } - return out; + return [...set]; } /** -- 2.47.2