From dd77c4fe02f8afce11fa107fdd2ab36dd3e4f9ed Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Thu, 25 Sep 2025 01:54:55 -0300 Subject: [PATCH 1/2] [BUGFIX] SonarQube: Use `new Array()` instead of `Array()`. Built-in constructors should be called consistently with or without "new" javascript:S7723 --- .../interview_preparation_kit/arrays/cruch_bruteforce.js | 2 +- .../interview_preparation_kit/arrays/cruch_optimized.js | 2 +- .../dictionaries_and_hashmaps/sherlock_and_anagrams.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.js b/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.js index b4847869..e285d3f8 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.js +++ b/src/hackerrank/interview_preparation_kit/arrays/cruch_bruteforce.js @@ -8,7 +8,7 @@ import { logger as console } from '../../../logger.js'; function arrayManipulation(n, queries) { const LENGTH = n + 1; const SURROGATE_VALUE = 0; - const result = Array(LENGTH).fill(SURROGATE_VALUE); + const result = new Array(LENGTH).fill(SURROGATE_VALUE); let maximum = 0; for (const query of queries) { diff --git a/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.js b/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.js index 4f75c10e..1a496be7 100644 --- a/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.js +++ b/src/hackerrank/interview_preparation_kit/arrays/cruch_optimized.js @@ -8,7 +8,7 @@ function arrayManipulation(n, queries) { // last slot for storing accumSum result const LENGTH = n + 2; const INITIAL_VALUE = 0; - const result = Array(LENGTH).fill(INITIAL_VALUE); + const result = new Array(LENGTH).fill(INITIAL_VALUE); let maximum = 0; for (const query of queries) { diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js index ae99e7d0..038dbd0b 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js @@ -6,7 +6,7 @@ import { logger as console } from '../../../logger.js'; function extraLongFactorials(n) { - const rs = [...Array(n)].reduce((a, b, i) => a * BigInt(i + 1), 1n); + const rs = [...new Array(n)].reduce((a, b, i) => a * BigInt(i + 1), 1n); return rs; } From d333648be98c75b8b570d09ceef0c39ef022d7a0 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Thu, 25 Sep 2025 10:22:35 -0300 Subject: [PATCH 2/2] [BUGFIX] SonarQube: Unnecessarily cloning an array. Spread syntax should not be used unnecessarily javascript:S7747 --- .../dictionaries_and_hashmaps/sherlock_and_anagrams.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js index 038dbd0b..8e006ef6 100644 --- a/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js +++ b/src/hackerrank/interview_preparation_kit/dictionaries_and_hashmaps/sherlock_and_anagrams.js @@ -6,7 +6,7 @@ import { logger as console } from '../../../logger.js'; function extraLongFactorials(n) { - const rs = [...new Array(n)].reduce((a, b, i) => a * BigInt(i + 1), 1n); + const rs = new Array(n).fill().reduce((a, b, i) => a * BigInt(i + 1), 1n); return rs; }