diff --git a/src/1week/01.js b/src/1week/01.js index 7adea99..f2ea0af 100644 --- a/src/1week/01.js +++ b/src/1week/01.js @@ -1,7 +1,7 @@ var x = 2; -function lineFunction() { - return 2 * x + 3; +function lineFunction(xParam = x) { + return 2 * xParam + 3; } exports.lineFunction = lineFunction; diff --git a/src/1week/02.js b/src/1week/02.js index 439850c..7aaf52d 100644 --- a/src/1week/02.js +++ b/src/1week/02.js @@ -1,11 +1,7 @@ -function accumulate(arr) { - let accumulator = 0; - - for (let i = 0; i < arr.length; i++) { - accumulator += arr[i]; - } +const sum = (a, b) => a + b; - return accumulator; +function accumulate(arr) { + return arr.reduce(sum, 0); } exports.accumulate = accumulate; diff --git a/src/1week/03.js b/src/1week/03.js index 9df4e55..893cf55 100644 --- a/src/1week/03.js +++ b/src/1week/03.js @@ -1,10 +1,14 @@ -function multiDimensionalAccumulate(multiDimensionalArr) { +function multiDimensionalArrayCondition ({row, column}) { + return column < row; +} + +function multiDimensionalAccumulate(multiDimensionalArray) { let accumulator = 0; - for (let i = 0; i < multiDimensionalArr.length; i++) { - for (let j = 0; j < multiDimensionalArr[i].length; j++) { - if (j < i) { - accumulator += multiDimensionalArr[i][j]; + for (let i = 0; i < multiDimensionalArray.length; i++) { + for (let j = 0; j < multiDimensionalArray[i].length; j++) { + if (multiDimensionalArrayCondition({row: i, column: j})) { + accumulator += multiDimensionalArray[i][j]; } } } diff --git a/src/1week/04.js b/src/1week/04.js index a7dd09a..5a48ac6 100644 --- a/src/1week/04.js +++ b/src/1week/04.js @@ -1,15 +1,17 @@ -function convertToConditionalUpperCase(words) { - let capitalized = []; +function convertUpperCase(stringParam) { + return stringParam.toUpperCase(); +} + +function convertLowerCase(stringParam) { + return stringParam.toLowerCase(); +} - for (let i = 0; i < words.length; i++) { - if (words[i].length > 5) { - capitalized.push(words[i].toUpperCase()); - } else { - capitalized.push(words[i].toLowerCase()); - } - } +function isLongWord(word) { + return word.length > 5; +} - return capitalized; +function convertToConditionalUpperCase(words) { + return words.map(word => isLongWord(word) ? convertUpperCase(word) : convertLowerCase(word)); } exports.convertToConditionalUpperCase = convertToConditionalUpperCase;