From e39a1a096ca9bcf32227ae74e569106ad4b46990 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Thu, 9 May 2024 17:58:41 -0400 Subject: [PATCH 1/3] [BUGFIX] sonarcloud javascript:S6959 fixed. "Array.reduce()" calls should include an initial value --- src/projecteuler/problem0018.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/projecteuler/problem0018.js b/src/projecteuler/problem0018.js index d9fc1aee..15075b8e 100644 --- a/src/projecteuler/problem0018.js +++ b/src/projecteuler/problem0018.js @@ -26,7 +26,8 @@ export function problem0018(_triangle) { console.debug('_triangle', JSON.stringify(weightsTree, null, 4)); console.debug('leafs count', leafs.length, 'leafs', leafs); - const max = leafs.reduce((a, b) => (a > b ? a : b)); + const __START_FROM__ = 0; + const max = leafs.reduce((a, b) => (a > b ? a : b), __START_FROM__); return max; } From f3f7b6bbf5d11f7036da856c8186e8838d8a40ec Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Thu, 9 May 2024 18:01:23 -0400 Subject: [PATCH 2/3] [BUGFIX] sonarcloud javascript:S6582 fixed. Prefer using an optional chain expression instead, as it's more concise and easier to read. --- src/projecteuler/lib/BNodeBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/projecteuler/lib/BNodeBuilder.js b/src/projecteuler/lib/BNodeBuilder.js index 77d81d24..90274cd5 100644 --- a/src/projecteuler/lib/BNodeBuilder.js +++ b/src/projecteuler/lib/BNodeBuilder.js @@ -7,7 +7,7 @@ export default class BNodeBuilder extends BNode { if (dataTree[i]?.[j]) { const resultNode = new BNode(dataTree[i][j]); - if (dataTree[i + 1] && dataTree[i + 1][j] && dataTree[i + 1][j + 1]) { + if (dataTree?.[i + 1]?.[j] && dataTree?.[i + 1]?.[j + 1]) { // Next left coordinates: [i + 1][j] resultNode.setLeft(BNodeBuilder.buildBNodeTree(dataTree, i + 1, j)); From e7bc33807b0149b77381df29446639068a84aa13 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Thu, 9 May 2024 18:44:04 -0400 Subject: [PATCH 3/3] [BUGFIX] sonarcloud javascript:S6582 fixed. Prefer using an optional chain expression instead, as it's more concise and easier to read. --- src/projecteuler/lib/BNodeBuilder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/projecteuler/lib/BNodeBuilder.js b/src/projecteuler/lib/BNodeBuilder.js index 90274cd5..1619e6cd 100644 --- a/src/projecteuler/lib/BNodeBuilder.js +++ b/src/projecteuler/lib/BNodeBuilder.js @@ -34,7 +34,7 @@ export default class BNodeBuilder extends BNode { if (dataTree[i]?.[j]) { const resultNode = new BNode(dataTree[i][j] + rootValue); - if (dataTree[i + 1] && dataTree[i + 1][j] && dataTree[i + 1][j + 1]) { + if (dataTree?.[i + 1]?.[j] && dataTree?.[i + 1]?.[j + 1]) { // Next left coordinates: [i + 1][j] resultNode.setLeft( BNodeBuilder.buildBNodeTreeWeigth(