refactor: remove unneeded array building in median computation
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 8 May 2023 20:50:17 +0000 (22:50 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 8 May 2023 20:50:17 +0000 (22:50 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/utils.ts
tests/utils.test.js

index e56c058e5c99a292d1ac2028290ddb2c3f19752f..c6e78ab5e873801f11d5508c658170a860e20ac5 100644 (file)
@@ -25,7 +25,7 @@ export const median = (dataSet: number[]): number => {
   if (Array.isArray(dataSet) && dataSet.length === 1) {
     return dataSet[0]
   }
-  dataSet = [...dataSet].slice().sort((a, b) => a - b)
+  dataSet = dataSet.slice().sort((a, b) => a - b)
   return (dataSet[(dataSet.length - 1) >> 1] + dataSet[dataSet.length >> 1]) / 2
 }
 
index c08efbc1981a7acd6084398c0208d9b5d4c6c1fd..eb0e7b1530a29a5195b21a292c6210856a47acb1 100644 (file)
@@ -3,8 +3,10 @@ const { isPlainObject, median } = require('../lib/utils')
 
 describe('Utils test suite', () => {
   it('Verify median computation', () => {
-    const array = [0.25, 4.75, 3.05, 6.04, 1.01, 2.02, 5.03]
-    expect(median(array)).toBe(3.05)
+    const array0 = [0.08]
+    expect(median(array0)).toBe(0.08)
+    const array1 = [0.25, 4.75, 3.05, 6.04, 1.01, 2.02, 5.03]
+    expect(median(array1)).toBe(3.05)
   })
 
   it('Verify isPlainObject() behavior', () => {