From 367d30e421cf5dcaf69fdafdf67a3a694367aaab Mon Sep 17 00:00:00 2001 From: j433866 Date: Wed, 3 Jul 2019 16:09:48 +0100 Subject: [PATCH] Use reduce for finding previous and next inputNums --- src/web/workers/InputWorker.mjs | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/src/web/workers/InputWorker.mjs b/src/web/workers/InputWorker.mjs index a4395d1c..23b9cae2 100644 --- a/src/web/workers/InputWorker.mjs +++ b/src/web/workers/InputWorker.mjs @@ -348,16 +348,11 @@ self.getSmallestInputNum = function(inputNums) { self.getPreviousInputNum = function(inputNum) { const inputNums = Object.keys(self.inputs); if (inputNums.length === 0) return -1; - let num = self.getSmallestInputNum(inputNums); - for (let i = 0; i < inputNums.length; i++) { - const iNum = parseInt(inputNums[i], 10); - if (iNum < inputNum) { - if (iNum > num) { - num = iNum; - } - } - } - return num; + + return inputNums.reduce((acc, val) => { + val = parseInt(val, 10); + return (val < inputNum && val > acc) ? val : acc; + }, self.getSmallestInputNum(inputNums)); }; /** @@ -368,16 +363,11 @@ self.getPreviousInputNum = function(inputNum) { */ self.getNextInputNum = function(inputNum) { const inputNums = Object.keys(self.inputs); - let num = self.getLargestInputNum(inputNums); - for (let i = 0; i < inputNums.length; i++) { - const iNum = parseInt(inputNums[i], 10); - if (iNum > inputNum) { - if (iNum < num) { - num = iNum; - } - } - } - return num; + + return inputNums.reduce((acc, val) => { + val = parseInt(val, 10); + return (val > inputNum && val < acc) ? val : acc; + }, self.getLargestInputNum(inputNums)); }; /**