From 53b191239fe5a3ee420d0cc920e4516942e409be Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 02:03:50 +0500 Subject: [PATCH 01/35] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index f66353e..dc2597c 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,7 +5,35 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - // Немного авторского кода и замечательной магии + var arr = time.split(':'); + var hour = parseInt(arr[0]), + minutes = parseInt(arr[1]); + + var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], + arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; + + var timeHour; + if (hour <= 10) { + timeHour = romanNumber[arabicNumber.indexOf(hour)]; + } else { + timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + + romanNumber[arabicNumber.indexOf(hour % 10)]; + } + + var timeMinutes; + if (minutes <= 10) { + timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; + } else { + timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + + romanNumber[arabicNumber.indexOf(minutes % 10)]; + } + + if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { + time = new TypeError('Неверное время'); + } else { + time = timeHour + ':' + timeMinutes; + } + return time; } From f65d2443317057d4454c8614fe2313ae45a3ef17 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 02:33:52 +0500 Subject: [PATCH 02/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 49 ++++++++++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/roman-time.js b/roman-time.js index dc2597c..d42914d 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,36 +5,31 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - var arr = time.split(':'); - var hour = parseInt(arr[0]), - minutes = parseInt(arr[1]); + var arr = time.split(':'), hour = parseInt(arr[0]); + var minutes = parseInt(arr[1]); + var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; + var arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], - arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; + var timeHour; + if (hour <= 10) { + timeHour = romanNumber[arabicNumber.indexOf(hour)]; + } else { + timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + romanNumber[arabicNumber.indexOf(hour % 10)]; + } - var timeHour; - if (hour <= 10) { - timeHour = romanNumber[arabicNumber.indexOf(hour)]; - } else { - timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + - romanNumber[arabicNumber.indexOf(hour % 10)]; - } + var timeMinutes; + if (minutes <= 10) { + timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; + } else { + timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + romanNumber[arabicNumber.indexOf(minutes % 10)]; + } - var timeMinutes; - if (minutes <= 10) { - timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; - } else { - timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + - romanNumber[arabicNumber.indexOf(minutes % 10)]; - } - - if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { - time = new TypeError('Неверное время'); - } else { - time = timeHour + ':' + timeMinutes; - } - - return time; + if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { + time = new TypeError('Неверное время'); + } else { + time = timeHour + ':' + timeMinutes; + } + return time; } module.exports = romanTime; From 277fb9444b315f7127a5f662a5477ff8dab169df Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 02:40:01 +0500 Subject: [PATCH 03/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/roman-time.js b/roman-time.js index d42914d..6f4d593 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,31 +5,31 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - var arr = time.split(':'), hour = parseInt(arr[0]); - var minutes = parseInt(arr[1]); - var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; - var arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; + var arr = time.split(':'), hour = parseInt(arr[0]); + var minutes = parseInt(arr[1]); + var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; + var arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - var timeHour; - if (hour <= 10) { - timeHour = romanNumber[arabicNumber.indexOf(hour)]; - } else { - timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + romanNumber[arabicNumber.indexOf(hour % 10)]; - } + var timeHour; + if (hour <= 10) { + timeHour = romanNumber[arabicNumber.indexOf(hour)]; + } else { + timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + romanNumber[arabicNumber.indexOf(hour % 10)]; + } - var timeMinutes; - if (minutes <= 10) { - timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; - } else { - timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + romanNumber[arabicNumber.indexOf(minutes % 10)]; - } + var timeMinutes; + if (minutes <= 10) { + timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; + } else { + timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + romanNumber[arabicNumber.indexOf(minutes % 10)]; + } - if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { - time = new TypeError('Неверное время'); - } else { - time = timeHour + ':' + timeMinutes; - } - return time; + if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { + time = new TypeError('Неверное время'); + } else { + time = timeHour + ':' + timeMinutes; + } + return time; } module.exports = romanTime; From 9e93b786626d8408a62970edbe3110675c776b4f Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 02:49:19 +0500 Subject: [PATCH 04/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/roman-time.js b/roman-time.js index 6f4d593..5588308 100644 --- a/roman-time.js +++ b/roman-time.js @@ -7,27 +7,30 @@ function romanTime(time) { var arr = time.split(':'), hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; + var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', + 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; var arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; var timeHour; if (hour <= 10) { - timeHour = romanNumber[arabicNumber.indexOf(hour)]; + timeHour = romanNumber[arabicNumber.indexOf(hour)]; } else { - timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + romanNumber[arabicNumber.indexOf(hour % 10)]; + timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + + romanNumber[arabicNumber.indexOf(hour % 10)]; } var timeMinutes; if (minutes <= 10) { - timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; + timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; } else { - timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + romanNumber[arabicNumber.indexOf(minutes % 10)]; + timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + + romanNumber[arabicNumber.indexOf(minutes % 10)]; } if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { - time = new TypeError('Неверное время'); + time = new TypeError('Неверное время'); } else { - time = timeHour + ':' + timeMinutes; + time = timeHour + ':' + timeMinutes; } return time; } From b0ce1de05bf062657839531578b956288a52d581 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 02:55:35 +0500 Subject: [PATCH 05/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=204?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/roman-time.js b/roman-time.js index 5588308..4066b9c 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,7 +5,8 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - var arr = time.split(':'), hour = parseInt(arr[0]); + var arr = time.split(':'), + hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; @@ -15,16 +16,16 @@ function romanTime(time) { if (hour <= 10) { timeHour = romanNumber[arabicNumber.indexOf(hour)]; } else { - timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] - + romanNumber[arabicNumber.indexOf(hour % 10)]; + timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + + romanNumber[arabicNumber.indexOf(hour % 10)]; } var timeMinutes; if (minutes <= 10) { timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; } else { - timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] - + romanNumber[arabicNumber.indexOf(minutes % 10)]; + timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + + romanNumber[arabicNumber.indexOf(minutes % 10)]; } if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { @@ -32,6 +33,7 @@ function romanTime(time) { } else { time = timeHour + ':' + timeMinutes; } + return time; } From 2e0f617eeb9d3019b9c1a287fd0d5189e4a3d73c Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 03:03:15 +0500 Subject: [PATCH 06/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roman-time.js b/roman-time.js index 4066b9c..8b1bca9 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,8 +5,8 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - var arr = time.split(':'), - hour = parseInt(arr[0]); + var arr = time.split(':'); + var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; @@ -33,7 +33,7 @@ function romanTime(time) { } else { time = timeHour + ':' + timeMinutes; } - + return time; } From 5532d35ea9785dbe2eca2d2b9d1726510aec2f23 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 03:07:38 +0500 Subject: [PATCH 07/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/roman-time.js b/roman-time.js index 8b1bca9..740fe95 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,14 +5,14 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - var arr = time.split(':'); - var hour = parseInt(arr[0]); - var minutes = parseInt(arr[1]); - var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', - 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; - var arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; + var arr = time.split(':'), + hour = parseInt(arr[0]), + minutes = parseInt(arr[1]), + romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', + 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], + arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - var timeHour; + var timeHour, timeMinutes; if (hour <= 10) { timeHour = romanNumber[arabicNumber.indexOf(hour)]; } else { @@ -20,7 +20,6 @@ function romanTime(time) { romanNumber[arabicNumber.indexOf(hour % 10)]; } - var timeMinutes; if (minutes <= 10) { timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; } else { From b90a58d7c83b0ec6a2cf2903dcf3785e1a082e52 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 03:11:45 +0500 Subject: [PATCH 08/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/roman-time.js b/roman-time.js index 740fe95..7e8400f 100644 --- a/roman-time.js +++ b/roman-time.js @@ -6,13 +6,13 @@ */ function romanTime(time) { var arr = time.split(':'), - hour = parseInt(arr[0]), - minutes = parseInt(arr[1]), - romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', + hour = parseInt(arr[0]), + minutes = parseInt(arr[1]), + romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], - arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; + arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - var timeHour, timeMinutes; + var timeHour; if (hour <= 10) { timeHour = romanNumber[arabicNumber.indexOf(hour)]; } else { @@ -20,6 +20,7 @@ function romanTime(time) { romanNumber[arabicNumber.indexOf(hour % 10)]; } + var timeMinutes; if (minutes <= 10) { timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; } else { From f191ece87cb4124feb19c7d9f55e25306f6423b6 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 03:43:50 +0500 Subject: [PATCH 09/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=208?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/roman-time.js b/roman-time.js index 7e8400f..5a4ae8f 100644 --- a/roman-time.js +++ b/roman-time.js @@ -12,23 +12,31 @@ function romanTime(time) { 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - var timeHour; + var timeHour, + hourDec, + hourUnit; if (hour <= 10) { timeHour = romanNumber[arabicNumber.indexOf(hour)]; } else { - timeHour = romanNumber[arabicNumber.indexOf(parseInt(hour / 10) * 10)] + - romanNumber[arabicNumber.indexOf(hour % 10)]; + hourDec = parseInt(hour / 10) * 10; + hourUnit = hour % 10; + timeHour = romanNumber[arabicNumber.indexOf(hourDec)] + + romanNumber[arabicNumber.indexOf(hourUnit)]; } - var timeMinutes; + var timeMinutes, + minutesDec, + minutesUnit; if (minutes <= 10) { timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; } else { - timeMinutes = romanNumber[arabicNumber.indexOf(parseInt(minutes / 10) * 10)] + - romanNumber[arabicNumber.indexOf(minutes % 10)]; + minutesDec = parseInt(minutes / 10) * 10; + minutesUnit = minutes % 10; + timeMinutes = romanNumber[arabicNumber.indexOf(minutesDec)] + + romanNumber[arabicNumber.indexOf(minutesUnit)]; } - if (isNaN(hour) || isNaN(minutes) || hour > 23 || minutes >= 60) { + if (isNaN(hour) || hour > 23 || isNaN(minutes)|| minutes >= 60) { time = new TypeError('Неверное время'); } else { time = timeHour + ':' + timeMinutes; From 500cf4dee1b99f449a3d36c2b06191a48f3f13a0 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 03:57:13 +0500 Subject: [PATCH 10/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 58 +++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/roman-time.js b/roman-time.js index 5a4ae8f..77f718b 100644 --- a/roman-time.js +++ b/roman-time.js @@ -5,42 +5,42 @@ * @returns {String} – время римскими цифрами (IX:V) */ function romanTime(time) { - var arr = time.split(':'), - hour = parseInt(arr[0]), - minutes = parseInt(arr[1]), - romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', + var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - - var timeHour, + + var arr = time.split(':'), + hour = parseInt(arr[0]), + minutes = parseInt(arr[1]); + + if (isNaN(hour) || hour > 23 || isNaN(minutes)|| minutes >= 60) { + time = new TypeError('Неверное время'); + } else { + var timeHour, hourDec, hourUnit; - if (hour <= 10) { - timeHour = romanNumber[arabicNumber.indexOf(hour)]; - } else { - hourDec = parseInt(hour / 10) * 10; - hourUnit = hour % 10; - timeHour = romanNumber[arabicNumber.indexOf(hourDec)] + - romanNumber[arabicNumber.indexOf(hourUnit)]; - } + if (hour <= 10) { + timeHour = romanNumber[arabicNumber.indexOf(hour)]; + } else { + hourDec = parseInt(hour / 10) * 10; + hourUnit = hour % 10; + timeHour = romanNumber[arabicNumber.indexOf(hourDec)] + + romanNumber[arabicNumber.indexOf(hourUnit)]; + } - var timeMinutes, + var timeMinutes, minutesDec, minutesUnit; - if (minutes <= 10) { - timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; - } else { - minutesDec = parseInt(minutes / 10) * 10; - minutesUnit = minutes % 10; - timeMinutes = romanNumber[arabicNumber.indexOf(minutesDec)] + - romanNumber[arabicNumber.indexOf(minutesUnit)]; - } - - if (isNaN(hour) || hour > 23 || isNaN(minutes)|| minutes >= 60) { - time = new TypeError('Неверное время'); - } else { - time = timeHour + ':' + timeMinutes; - } + if (minutes <= 10) { + timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; + } else { + minutesDec = parseInt(minutes / 10) * 10; + minutesUnit = minutes % 10; + timeMinutes = romanNumber[arabicNumber.indexOf(minutesDec)] + + romanNumber[arabicNumber.indexOf(minutesUnit)]; + } + time = timeHour + ':' + timeMinutes; + } return time; } From 335ede4465e6369099343ef181d2dfae9155807f Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 04:21:23 +0500 Subject: [PATCH 11/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=2010?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 46 ++++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/roman-time.js b/roman-time.js index 77f718b..6003fbc 100644 --- a/roman-time.js +++ b/roman-time.js @@ -4,43 +4,33 @@ * @param {String} time – время в формате HH:MM (например, 09:05) * @returns {String} – время римскими цифрами (IX:V) */ -function romanTime(time) { + +function translate(timeRoman) { var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; - + + var timeTranslate; + if (timeRoman <= 10) { + timeTranslate = romanNumber[arabicNumber.indexOf(timeRoman)]; + } else { + timeTranslate = romanNumber[arabicNumber.indexOf(parseInt(timeRoman / 10) * 10)] + + romanNumber[arabicNumber.indexOf(timeRoman % 10)]; + } + + return timeTranslate; +} + +function romanTime(time) { var arr = time.split(':'), hour = parseInt(arr[0]), minutes = parseInt(arr[1]); - + if (isNaN(hour) || hour > 23 || isNaN(minutes)|| minutes >= 60) { time = new TypeError('Неверное время'); } else { - var timeHour, - hourDec, - hourUnit; - if (hour <= 10) { - timeHour = romanNumber[arabicNumber.indexOf(hour)]; - } else { - hourDec = parseInt(hour / 10) * 10; - hourUnit = hour % 10; - timeHour = romanNumber[arabicNumber.indexOf(hourDec)] + - romanNumber[arabicNumber.indexOf(hourUnit)]; - } - - var timeMinutes, - minutesDec, - minutesUnit; - if (minutes <= 10) { - timeMinutes = romanNumber[arabicNumber.indexOf(minutes)]; - } else { - minutesDec = parseInt(minutes / 10) * 10; - minutesUnit = minutes % 10; - timeMinutes = romanNumber[arabicNumber.indexOf(minutesDec)] + - romanNumber[arabicNumber.indexOf(minutesUnit)]; - } - time = timeHour + ':' + timeMinutes; - } + time = translate(hour) + ':' + translate(minutes); + } return time; } From 4c220c2a721677d8abf4290f7831e358615cbebe Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 04:24:53 +0500 Subject: [PATCH 12/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B0=D0=B1=D1=83=D0=BB?= =?UTF-8?q?=D1=8F=D1=86=D0=B8=D0=B8=2011?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roman-time.js b/roman-time.js index 6003fbc..3102d9e 100644 --- a/roman-time.js +++ b/roman-time.js @@ -7,8 +7,8 @@ function translate(timeRoman) { var romanNumber = ['N', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', - 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX'], - arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; + 'VIII', 'IX', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; + var arabicNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60]; var timeTranslate; if (timeRoman <= 10) { @@ -22,11 +22,11 @@ function translate(timeRoman) { } function romanTime(time) { - var arr = time.split(':'), - hour = parseInt(arr[0]), - minutes = parseInt(arr[1]); + var arr = time.split(':'); + var hour = parseInt(arr[0]); + var minutes = parseInt(arr[1]); - if (isNaN(hour) || hour > 23 || isNaN(minutes)|| minutes >= 60) { + if (isNaN(hour) || hour > 23 || isNaN(minutes) || minutes >= 60) { time = new TypeError('Неверное время'); } else { time = translate(hour) + ':' + translate(minutes); From bc18dc60f09780606a55583f41b06531d5d7b161 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 05:03:28 +0500 Subject: [PATCH 13/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20TypeError?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 3102d9e..c1f5471 100644 --- a/roman-time.js +++ b/roman-time.js @@ -26,7 +26,9 @@ function romanTime(time) { var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - if (isNaN(hour) || hour > 23 || isNaN(minutes) || minutes >= 60) { + if (hour < 0 || minutes < 0 || (parseFloat(arr[0]) ^ 0) !== parseFloat(arr[0]) || + (parseFloat(arr[1]) ^ 0) !== parseFloat(arr[1]) || isNaN(arr[0]) || isNaN(arr[1]) || + isNaN(hour) || hour > 23 || isNaN(minutes) || minutes >= 60) { time = new TypeError('Неверное время'); } else { time = translate(hour) + ':' + translate(minutes); From ebaf074038771b447eab138b3ee67bb3f207b299 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 05:28:35 +0500 Subject: [PATCH 14/35] fix TypeError --- roman-time.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/roman-time.js b/roman-time.js index c1f5471..3ce61f5 100644 --- a/roman-time.js +++ b/roman-time.js @@ -21,14 +21,28 @@ function translate(timeRoman) { return timeTranslate; } +function range(hour, minutes, arr) { + if (hour > 23 || minutes >= 60 || hour < 0 || minutes < 0 || isNaN(arr[0]) || isNaN(arr[1])) { + return true; + } else { + return false; + } +} + +function whole(arr) { + if (arr[0].indexOf('.') !== -1 || arr[1].indexOf('.') !== -1) { + return true; + } else { + return false; + } +} + function romanTime(time) { var arr = time.split(':'); var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - if (hour < 0 || minutes < 0 || (parseFloat(arr[0]) ^ 0) !== parseFloat(arr[0]) || - (parseFloat(arr[1]) ^ 0) !== parseFloat(arr[1]) || isNaN(arr[0]) || isNaN(arr[1]) || - isNaN(hour) || hour > 23 || isNaN(minutes) || minutes >= 60) { + if (range(hour, minutes, arr) || whole(arr)) { time = new TypeError('Неверное время'); } else { time = translate(hour) + ':' + translate(minutes); From 8ff206283891d1e0393d36e940d4a42e99838b4d Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 05:35:07 +0500 Subject: [PATCH 15/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=83=D1=81=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/roman-time.js b/roman-time.js index 3ce61f5..04c7b7d 100644 --- a/roman-time.js +++ b/roman-time.js @@ -22,19 +22,20 @@ function translate(timeRoman) { } function range(hour, minutes, arr) { - if (hour > 23 || minutes >= 60 || hour < 0 || minutes < 0 || isNaN(arr[0]) || isNaN(arr[1])) { + if (hour > 23 || minutes >= 60 || hour < 0 || minutes < 0) { return true; - } else { - return false; } + + return false; } function whole(arr) { - if (arr[0].indexOf('.') !== -1 || arr[1].indexOf('.') !== -1) { + if (arr[0].indexOf('.') !== -1 || arr[1].indexOf('.') !== -1 || + isNaN(arr[0]) || isNaN(arr[1])) { return true; - } else { - return false; } + + return false; } function romanTime(time) { From 223102f264d3ea69d44fdd3569f7683a04abbbfa Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 05:37:30 +0500 Subject: [PATCH 16/35] spaces TypeError --- roman-time.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index 04c7b7d..369618b 100644 --- a/roman-time.js +++ b/roman-time.js @@ -21,7 +21,7 @@ function translate(timeRoman) { return timeTranslate; } -function range(hour, minutes, arr) { +function range(hour, minutes) { if (hour > 23 || minutes >= 60 || hour < 0 || minutes < 0) { return true; } @@ -30,7 +30,7 @@ function range(hour, minutes, arr) { } function whole(arr) { - if (arr[0].indexOf('.') !== -1 || arr[1].indexOf('.') !== -1 || + if (arr[0].indexOf('.') !== -1 || arr[1].indexOf('.') !== -1 || isNaN(arr[0]) || isNaN(arr[1])) { return true; } From 049d9a33bd38ee7d8d2e64d37845846ba63ae77b Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 05:51:37 +0500 Subject: [PATCH 17/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20TypeError=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 369618b..d9f9b1e 100644 --- a/roman-time.js +++ b/roman-time.js @@ -43,7 +43,7 @@ function romanTime(time) { var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - if (range(hour, minutes, arr) || whole(arr)) { + if (range(hour, minutes, arr) || time === '' || whole(arr)) { time = new TypeError('Неверное время'); } else { time = translate(hour) + ':' + translate(minutes); From 6d97cb618d4af0c60ef7dbb42c3dcc1285dc0f17 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:02:54 +0500 Subject: [PATCH 18/35] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20TypeError=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index d9f9b1e..c932b98 100644 --- a/roman-time.js +++ b/roman-time.js @@ -44,7 +44,7 @@ function romanTime(time) { var minutes = parseInt(arr[1]); if (range(hour, minutes, arr) || time === '' || whole(arr)) { - time = new TypeError('Неверное время'); + throw new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From e179be711ef8c2eddc2f6a5bde707b9b1dce7446 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:21:10 +0500 Subject: [PATCH 19/35] =?UTF-8?q?=D0=91=D1=83=D0=BA=D0=B2=D1=8B=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/roman-time.js b/roman-time.js index c932b98..3c1864a 100644 --- a/roman-time.js +++ b/roman-time.js @@ -30,8 +30,8 @@ function range(hour, minutes) { } function whole(arr) { - if (arr[0].indexOf('.') !== -1 || arr[1].indexOf('.') !== -1 || - isNaN(arr[0]) || isNaN(arr[1])) { + if (isNaN(arr[0]) || isNaN(arr[1]) || arr[0].indexOf('.') !== -1 || + arr[1].indexOf('.') !== -1) { return true; } @@ -44,7 +44,8 @@ function romanTime(time) { var minutes = parseInt(arr[1]); if (range(hour, minutes, arr) || time === '' || whole(arr)) { - throw new TypeError('Неверное время', 'roman-time.js'); + //throw new TypeError('Неверное время', 'roman-time.js'); + time = new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From 3e52379028646c19c2181061fdf79b376ada90e7 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:24:33 +0500 Subject: [PATCH 20/35] fix : --- roman-time.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/roman-time.js b/roman-time.js index 3c1864a..a96b6eb 100644 --- a/roman-time.js +++ b/roman-time.js @@ -43,9 +43,8 @@ function romanTime(time) { var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - if (range(hour, minutes, arr) || time === '' || whole(arr)) { - //throw new TypeError('Неверное время', 'roman-time.js'); - time = new TypeError('Неверное время', 'roman-time.js'); + if (range(hour, minutes, arr) || time === '' || whole(arr) || time === ':') { + throw new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From bfcc69aea231fedc62623f3aef26c4d3bd9ec6d7 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:44:00 +0500 Subject: [PATCH 21/35] fix string --- roman-time.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index a96b6eb..ec1a020 100644 --- a/roman-time.js +++ b/roman-time.js @@ -38,12 +38,20 @@ function whole(arr) { return false; } +function notNull(time) { + if (time === '' || time === ':' || typeof time !== 'string') { + return true; + } + + return false; +} + function romanTime(time) { var arr = time.split(':'); var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - if (range(hour, minutes, arr) || time === '' || whole(arr) || time === ':') { + if (range(hour, minutes, arr) || whole(arr) || notNull(time)) { throw new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); From 3fe910aa0d6e5b2d261412f9ce9d756b9435cf97 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:45:45 +0500 Subject: [PATCH 22/35] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index ec1a020..fcaa3b7 100644 --- a/roman-time.js +++ b/roman-time.js @@ -41,9 +41,9 @@ function whole(arr) { function notNull(time) { if (time === '' || time === ':' || typeof time !== 'string') { return true; - } + } - return false; + return false; } function romanTime(time) { From 89e369db96bc1803f43383ba556b8b2224296c20 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:52:43 +0500 Subject: [PATCH 23/35] fix fix --- roman-time.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index fcaa3b7..22972a4 100644 --- a/roman-time.js +++ b/roman-time.js @@ -46,13 +46,21 @@ function notNull(time) { return false; } +function notNan(arr) { + if (arr[0] === ' ' || arr[1] === ' ') { + return true; + } + + return false; +} + function romanTime(time) { var arr = time.split(':'); var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - if (range(hour, minutes, arr) || whole(arr) || notNull(time)) { - throw new TypeError('Неверное время', 'roman-time.js'); + if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { + time = new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From d32039f8d862803af4fe4c652b54df3071e64f9a Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 06:54:12 +0500 Subject: [PATCH 24/35] fix 6 --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 22972a4..572a02a 100644 --- a/roman-time.js +++ b/roman-time.js @@ -60,7 +60,7 @@ function romanTime(time) { var minutes = parseInt(arr[1]); if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { - time = new TypeError('Неверное время', 'roman-time.js'); + throw new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From ede8ed325ae69d5a16f374c5132fbc7836026c0f Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 07:00:47 +0500 Subject: [PATCH 25/35] fix string --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 572a02a..c97d8a5 100644 --- a/roman-time.js +++ b/roman-time.js @@ -47,7 +47,7 @@ function notNull(time) { } function notNan(arr) { - if (arr[0] === ' ' || arr[1] === ' ') { + if (arr[0] === ' ' || arr[1] === ' ' || arr[0].length > 2 || arr[1].length > 2) { return true; } From f10dd5aa1df0aee3e336c56588cb97efa7786ce4 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 07:11:02 +0500 Subject: [PATCH 26/35] 7:10 --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index c97d8a5..9a1d766 100644 --- a/roman-time.js +++ b/roman-time.js @@ -47,7 +47,7 @@ function notNull(time) { } function notNan(arr) { - if (arr[0] === ' ' || arr[1] === ' ' || arr[0].length > 2 || arr[1].length > 2) { + if (arr[0] === ' ' || arr[1] === ' ' || arr[0].length !== 2 || arr[1].length !== 2) { return true; } From b61f437dc4d3d860585c0631cbf71c5cefe507a3 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 16:24:30 +0500 Subject: [PATCH 27/35] =?UTF-8?q?fix=20=D0=96=D0=96=D0=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index 9a1d766..92b4e2d 100644 --- a/roman-time.js +++ b/roman-time.js @@ -47,7 +47,7 @@ function notNull(time) { } function notNan(arr) { - if (arr[0] === ' ' || arr[1] === ' ' || arr[0].length !== 2 || arr[1].length !== 2) { + if (arr[0] === ' ' || arr[1] === ' ' || arr[2] !== undefined) { return true; } @@ -60,7 +60,7 @@ function romanTime(time) { var minutes = parseInt(arr[1]); if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { - throw new TypeError('Неверное время', 'roman-time.js'); + time = new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From 58bf147b137520720bb370ac20a667adb89b6caa Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Tue, 11 Oct 2016 16:27:18 +0500 Subject: [PATCH 28/35] fix :: --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 92b4e2d..f9a690c 100644 --- a/roman-time.js +++ b/roman-time.js @@ -60,7 +60,7 @@ function romanTime(time) { var minutes = parseInt(arr[1]); if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { - time = new TypeError('Неверное время', 'roman-time.js'); + throw new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From 293e0b0fd93f82cd76869ab3964743f32428afc2 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 00:19:38 +0500 Subject: [PATCH 29/35] fix --- roman-time.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index f9a690c..7c7bc26 100644 --- a/roman-time.js +++ b/roman-time.js @@ -54,13 +54,20 @@ function notNan(arr) { return false; } +function leng(arr) { + if (arr[0].length > 2 || arr[1].length > 2) { + throw new TypeError('Неверное время', 'roman-time.js'); + } +} + function romanTime(time) { var arr = time.split(':'); var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); + leng(arr); if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { - throw new TypeError('Неверное время', 'roman-time.js'); + time = new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From 7ce4c4b4f97099f7f667a8fd50ec0e3b41125acc Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 00:20:20 +0500 Subject: [PATCH 30/35] fix 2 --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 7c7bc26..05c8c20 100644 --- a/roman-time.js +++ b/roman-time.js @@ -67,7 +67,7 @@ function romanTime(time) { leng(arr); if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { - time = new TypeError('Неверное время', 'roman-time.js'); + throw new TypeError('Неверное время', 'roman-time.js'); } else { time = translate(hour) + ':' + translate(minutes); } From a15bb9613170532df41415c270d30bee145aa082 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 00:23:08 +0500 Subject: [PATCH 31/35] fix 3 --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 05c8c20..79a1290 100644 --- a/roman-time.js +++ b/roman-time.js @@ -55,7 +55,7 @@ function notNan(arr) { } function leng(arr) { - if (arr[0].length > 2 || arr[1].length > 2) { + if (arr[0].length == 1 || arr[1].length == 1) { throw new TypeError('Неверное время', 'roman-time.js'); } } From 46649622d4a4eda14ead54d58f32db2361b45549 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 00:24:36 +0500 Subject: [PATCH 32/35] fix 4 --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 79a1290..b5b1607 100644 --- a/roman-time.js +++ b/roman-time.js @@ -55,7 +55,7 @@ function notNan(arr) { } function leng(arr) { - if (arr[0].length == 1 || arr[1].length == 1) { + if (arr[0].length === 1 || arr[1].length === 1) { throw new TypeError('Неверное время', 'roman-time.js'); } } From 73bfdebe59f881e6f77e9e74749c67c38efb66ac Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 13:12:45 +0500 Subject: [PATCH 33/35] fix inc --- roman-time.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/roman-time.js b/roman-time.js index b5b1607..7015dd3 100644 --- a/roman-time.js +++ b/roman-time.js @@ -39,7 +39,7 @@ function whole(arr) { } function notNull(time) { - if (time === '' || time === ':' || typeof time !== 'string') { + if (time === '' || time === ':' || time.length >=4 || typeof time !== 'string') { return true; } @@ -54,17 +54,10 @@ function notNan(arr) { return false; } -function leng(arr) { - if (arr[0].length === 1 || arr[1].length === 1) { - throw new TypeError('Неверное время', 'roman-time.js'); - } -} - function romanTime(time) { var arr = time.split(':'); var hour = parseInt(arr[0]); var minutes = parseInt(arr[1]); - leng(arr); if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { throw new TypeError('Неверное время', 'roman-time.js'); From 6c271a887e3e08c714f90e5be47530385dc88708 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 13:15:41 +0500 Subject: [PATCH 34/35] fix spaces --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 7015dd3..82f0407 100644 --- a/roman-time.js +++ b/roman-time.js @@ -39,7 +39,7 @@ function whole(arr) { } function notNull(time) { - if (time === '' || time === ':' || time.length >=4 || typeof time !== 'string') { + if (time === '' || time === ':' || time.length >= 4 || typeof time !== 'string') { return true; } From bf055e8fbd55bda25f5d9fc0568190e2b61ec782 Mon Sep 17 00:00:00 2001 From: Firsov Kolya Date: Wed, 12 Oct 2016 13:30:43 +0500 Subject: [PATCH 35/35] fix inc 2 --- roman-time.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/roman-time.js b/roman-time.js index 82f0407..82659b7 100644 --- a/roman-time.js +++ b/roman-time.js @@ -39,7 +39,7 @@ function whole(arr) { } function notNull(time) { - if (time === '' || time === ':' || time.length >= 4 || typeof time !== 'string') { + if (time === '' || time === ':' || typeof time !== 'string') { return true; } @@ -55,9 +55,14 @@ function notNan(arr) { } function romanTime(time) { - var arr = time.split(':'); - var hour = parseInt(arr[0]); - var minutes = parseInt(arr[1]); + if (time === '' || time.length !== 5) { + throw new TypeError('Неверное время', 'roman-time.js'); + } else { + var arr = time.split(':'); + var hour = parseInt(arr[0]); + var minutes = parseInt(arr[1]); + } + if (range(hour, minutes, arr) || whole(arr) || notNull(time) || notNan(arr)) { throw new TypeError('Неверное время', 'roman-time.js');