diff --git a/src/task_1/index.js b/src/task_1/index.js index f17c848..2c88871 100644 --- a/src/task_1/index.js +++ b/src/task_1/index.js @@ -7,6 +7,49 @@ */ function numeralSum(number) { + if (typeof number === "number") { + let summ = 0; + if (number < 0 && Number.isInteger(number) && isFinite(number)) { + number *= -1; + let str = String(number).split(''); + for (let i = 0; i < str.length; i++) { + summ += Number(str[i]); + } + return summ; + } else if (number < 0 && !Number.isInteger(number) && isFinite(number)){ + number *= -1; + let str = String(number).split(''); + for (let i = 0; i < str.length; i++) { + if (str[i] == "."){ + false + } else { + summ += Number(str[i]); + } + } + return summ; + } else if (number > 0 && !Number.isInteger(number) && isFinite(number)){ + let str = String(number).split(''); + for (let i = 0; i < str.length; i++) { + if (str[i] == "."){ + false + } else { + summ += Number(str[i]); + } + } + return summ; + } else if (!isFinite(number) && !isNaN(number)) { + return summ = Infinity; + } else if (isNaN(number)){ + return summ = number; + } else { + let str = String(number).split(''); + for (let i = 0; i < str.length; i++) { + summ += Number(str[i]); + } + return summ; + } + } } + module.exports.numeralSum = numeralSum; diff --git a/src/task_2/index.js b/src/task_2/index.js index 98c02f5..aba031b 100644 --- a/src/task_2/index.js +++ b/src/task_2/index.js @@ -6,6 +6,13 @@ @return {string} Строка формата Фамилия И.О. */ function fioFormat(inputFio) { + if (typeof inputFio == "string") { + let arrStr = inputFio.split(' ') + arrStr[0] = `${arrStr[0].substr(0, 1)}.` + arrStr[2] = `${arrStr[2].substr(0, 1)}.` + let str = `${arrStr[1]} ${arrStr[0]} ${arrStr[2]}` + return str + } } module.exports.fioFormat = fioFormat; diff --git a/src/task_3/index.js b/src/task_3/index.js index a5bc939..0ca8d79 100644 --- a/src/task_3/index.js +++ b/src/task_3/index.js @@ -7,6 +7,19 @@ @return {number} Количество лет */ function countAge(birthYear) { + let currentY = new Date().getFullYear(); + try { + if (typeof birthYear !== "number" + || birthYear < 0 + || !isFinite(birthYear) + || !Number.isInteger(birthYear) + || birthYear > currentY) { + throw new SyntaxError("Неверный формат даты."); + } + return currentY - birthYear; + } catch (e) { + alert("Error: " + e.message); + } } module.exports.countAge = countAge; diff --git a/src/task_4/index.js b/src/task_4/index.js index 5db003b..96f3628 100644 --- a/src/task_4/index.js +++ b/src/task_4/index.js @@ -6,6 +6,14 @@ @return {number} Среднее арифмитическое чисел в строке */ function average(numbersString) { + let arrStr = numbersString.split(","); + let arrNum = arrStr.map(el => Number(el)); + let sum = 0; + for (let i=0; i