From 54e1b79840aa459da5b4b9161262a53fbb2d28d2 Mon Sep 17 00:00:00 2001 From: Ogbemi mene Date: Fri, 17 Jul 2026 12:54:19 +0100 Subject: [PATCH 1/4] my median testing --- Sprint-1/fix/median.js | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/Sprint-1/fix/median.js b/Sprint-1/fix/median.js index b22590bc6..552d0a9be 100644 --- a/Sprint-1/fix/median.js +++ b/Sprint-1/fix/median.js @@ -6,9 +6,32 @@ // or 'list' has mixed values (the function is expected to sort only numbers). function calculateMedian(list) { - const middleIndex = Math.floor(list.length / 2); - const median = list.splice(middleIndex, 1)[0]; - return median; -} + if (!Array.isArray(list) || list.length === 0) { + return null; + } + const numbersOnly = list.filter(element => typeof element === 'number'); + //console.log (numbersOnly); + if (numbersOnly.length === 0) { + return null; + } + + const sortedList = [...numbersOnly].sort((a, b) => a - b); + + if (sortedList.length % 2 === 0) { + const middleIndex = Math.floor(sortedList.length / 2); + return (sortedList[middleIndex - 1] + sortedList[middleIndex]) / 2; + } + const middleIndex = Math.floor(sortedList.length / 2); + + return sortedList[middleIndex]; + + + + //return median; + } + +const salaries = [10, 40, 50, 70, 90] +const median = calculateMedian(salaries); module.exports = calculateMedian; + From fbf6020c374b176e757a88f92b2ab34bba6e64fb Mon Sep 17 00:00:00 2001 From: Ogbemi mene Date: Fri, 17 Jul 2026 18:58:41 +0100 Subject: [PATCH 2/4] my duplicate test --- Sprint-1/implement/dedupe.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Sprint-1/implement/dedupe.js b/Sprint-1/implement/dedupe.js index 781e8718a..2aa451654 100644 --- a/Sprint-1/implement/dedupe.js +++ b/Sprint-1/implement/dedupe.js @@ -1 +1,9 @@ -function dedupe() {} +function dedupe(list) { + if (!Array.isArray(list)) { + return []; + } + + return [...new Set(list)]; +} + +module.exports = dedupe; From 529da6af5318eeb92859453a6a710ef98a3d3675 Mon Sep 17 00:00:00 2001 From: Ogbemi mene Date: Fri, 17 Jul 2026 20:51:26 +0100 Subject: [PATCH 3/4] my max test --- Sprint-1/implement/max.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sprint-1/implement/max.js b/Sprint-1/implement/max.js index 6dd76378e..eff491b6e 100644 --- a/Sprint-1/implement/max.js +++ b/Sprint-1/implement/max.js @@ -1,4 +1,12 @@ function findMax(elements) { + if (!Array.isArray(elements) || elements.length === 0) { + return -Infinity; + } + const numbersOnly = elements.filter(item => typeof item === 'number' && !isNaN(item)); + if (numbersOnly.length === 0) { + return -Infinity; + } + return Math.max(...numbersOnly); } module.exports = findMax; From c60f88b3255c7a2c856e76ba5556d130f6beef4b Mon Sep 17 00:00:00 2001 From: Ogbemi mene Date: Fri, 17 Jul 2026 20:59:33 +0100 Subject: [PATCH 4/4] my sum solution --- Sprint-1/implement/sum.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sprint-1/implement/sum.js b/Sprint-1/implement/sum.js index 9062aafe3..73715b25a 100644 --- a/Sprint-1/implement/sum.js +++ b/Sprint-1/implement/sum.js @@ -1,4 +1,16 @@ function sum(elements) { + if (!Array.isArray(elements) || elements.length === 0) { + return 0; + } + + const numbersOnly = elements.filter(item => typeof item === "number" && !isNaN(item)); + + if (numbersOnly.length === 0) { + return 0; + } + + return numbersOnly.reduce((acc, curr) => acc + curr, 0); + } module.exports = sum;