From ae595626b2045afdfbca2806794516cd3e607312 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Tue, 11 Oct 2016 23:26:47 +0500 Subject: [PATCH 01/14] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=BE=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/roman-time.js b/roman-time.js index f66353e..27b92fa 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,12 +1,33 @@ 'use strict'; /** - * @param {String} time – время в формате HH:MM (например, 09:05) - * @returns {String} – время римскими цифрами (IX:V) + * @param {String} time – âðåìÿ â ôîðìàòå HH:MM (íàïðèìåð, 09:05) + * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) */ +function concatinationTime(element) { + var onesList = ['N','I','II','III','IV','V','VI','VII','VIII','IX']; + var tensList = ['','X','XX','XXX','XL','L','LX']; + + if (element == 0) return 'N'; + else return tensList[Math.floor(element)] + onesList[element % 10]; +} + function romanTime(time) { - // Немного авторского кода и замечательной магии - return time; + var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; + + if (regexp.test(time)) { + + var timeList = time.split(':').map(function (listElement){return parseInt(listElement,10)}); + + var firstElement = timeList[0]; + var secondElement = timeList[1]; + + if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { + console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + return; + } else throw new TypeError; + + } else throw new TypeError; } module.exports = romanTime; From 499192e98d81a7b398956541bba81814b182c5e9 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Tue, 11 Oct 2016 23:42:21 +0500 Subject: [PATCH 02/14] Code Style --- roman-time.js | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/roman-time.js b/roman-time.js index 27b92fa..823501c 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,33 +1,47 @@ 'use strict'; /** - * @param {String} time – âðåìÿ â ôîðìàòå HH:MM (íàïðèìåð, 09:05) - * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) + * @param {String} element – перевод из арабской в римскую + * @returns {String} – римские цифры */ function concatinationTime(element) { - var onesList = ['N','I','II','III','IV','V','VI','VII','VIII','IX']; - var tensList = ['','X','XX','XXX','XL','L','LX']; - - if (element == 0) return 'N'; - else return tensList[Math.floor(element)] + onesList[element % 10]; + var onesList = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; + var tensList = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; + + if (element === 0) { + return 'N'; + } else { + return tensList[Math.floor(element / 10)] + onesList[element % 10]; + } } +/** + * @param {String} time – время в формате HH:MM (например, 09:05) + * @returns {String} – время римскими цифрами (IX:V) + */ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; if (regexp.test(time)) { - var timeList = time.split(':').map(function (listElement){return parseInt(listElement,10)}); + var timeList = time.split(':').map(function(listElement) { + return parseInt(listElement, 10) + }); - var firstElement = timeList[0]; + var firstElement = timeList[0]; var secondElement = timeList[1]; if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); - return; - } else throw new TypeError; - - } else throw new TypeError; + console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + return; + } else { + throw new TypeError; + } + + } else { + throw new TypeError; + } } +romanTime('12:50 '); module.exports = romanTime; From 37c850360db35ffa4a74bef087f2c4ca9380ef9c Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Tue, 11 Oct 2016 23:49:59 +0500 Subject: [PATCH 03/14] =?UTF-8?q?=D0=9A=D0=BE=D0=B4=20=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/roman-time.js b/roman-time.js index 823501c..ee24c58 100644 --- a/roman-time.js +++ b/roman-time.js @@ -2,7 +2,7 @@ /** * @param {String} element – перевод из арабской в римскую - * @returns {String} – римские цифры + * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) */ function concatinationTime(element) { var onesList = ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX']; @@ -10,23 +10,21 @@ function concatinationTime(element) { if (element === 0) { return 'N'; - } else { - return tensList[Math.floor(element / 10)] + onesList[element % 10]; } + return tensList[Math.floor(element / 10)] + onesList[element % 10]; + } /** - * @param {String} time – время в формате HH:MM (например, 09:05) - * @returns {String} – время римскими цифрами (IX:V) + * @param {String} time – âðåìÿ â ôîðìàòå HH:MM (íàïðèìåð, 09:05) + * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) */ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; if (regexp.test(time)) { - var timeList = time.split(':').map(function(listElement) { - return parseInt(listElement, 10) - }); + var timeList = time.split(':').map( listElement => parseInt(listElement, 10)); var firstElement = timeList[0]; var secondElement = timeList[1]; From dfcd619fe55b69b78b512503b379e4e257456574 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Tue, 11 Oct 2016 23:55:18 +0500 Subject: [PATCH 04/14] =?UTF-8?q?=D0=A7=D1=83=D1=87=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/roman-time.js b/roman-time.js index ee24c58..f00f7cf 100644 --- a/roman-time.js +++ b/roman-time.js @@ -21,22 +21,25 @@ function concatinationTime(element) { */ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; + try { + if (regexp.test(time)) { - if (regexp.test(time)) { + var timeList = time.split(':').map(listElement => parseInt(listElement, 10)); - var timeList = time.split(':').map( listElement => parseInt(listElement, 10)); + var firstElement = timeList[0]; + var secondElement = timeList[1]; - var firstElement = timeList[0]; - var secondElement = timeList[1]; + if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { + console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + return; + } else { + throw new TypeError; + } - if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); - return; } else { throw new TypeError; } - - } else { + } catch (e) { throw new TypeError; } } From ab92f2b697575c08fa489754b719f7d1900f7ce7 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:02:21 +0500 Subject: [PATCH 05/14] asd --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index f00f7cf..d1608be 100644 --- a/roman-time.js +++ b/roman-time.js @@ -24,7 +24,7 @@ function romanTime(time) { try { if (regexp.test(time)) { - var timeList = time.split(':').map(listElement => parseInt(listElement, 10)); + var timeList = time.split(':').map(listElement => parseInt(listElement)); var firstElement = timeList[0]; var secondElement = timeList[1]; From f9e31aee72f2139621813afa44510c0701c79392 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:03:37 +0500 Subject: [PATCH 06/14] sad3 --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index d1608be..a2bbc1f 100644 --- a/roman-time.js +++ b/roman-time.js @@ -24,7 +24,7 @@ function romanTime(time) { try { if (regexp.test(time)) { - var timeList = time.split(':').map(listElement => parseInt(listElement)); + var timeList = time.split(':').map(listElement => Number(listElement)); var firstElement = timeList[0]; var secondElement = timeList[1]; From be04803ea894184c2d7744254e15701b676619ca Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:06:17 +0500 Subject: [PATCH 07/14] wwwe --- roman-time.js | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/roman-time.js b/roman-time.js index a2bbc1f..473e7bf 100644 --- a/roman-time.js +++ b/roman-time.js @@ -21,28 +21,23 @@ function concatinationTime(element) { */ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; - try { - if (regexp.test(time)) { + if (regexp.test(time)) { - var timeList = time.split(':').map(listElement => Number(listElement)); + var timeList = time.split(':'); - var firstElement = timeList[0]; - var secondElement = timeList[1]; - - if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); - return; - } else { - throw new TypeError; - } + var firstElement = parseInt(timeList[0]); + var secondElement = parseInt(timeList[1]); + if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { + console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + return; } else { throw new TypeError; } - } catch (e) { + + } else { throw new TypeError; } } -romanTime('12:50 '); module.exports = romanTime; From 1059a7ca5572d55fa5e1ff3986aaf0dab2e6290c Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:09:50 +0500 Subject: [PATCH 08/14] =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/roman-time.js b/roman-time.js index 473e7bf..38282fd 100644 --- a/roman-time.js +++ b/roman-time.js @@ -31,12 +31,13 @@ function romanTime(time) { if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); return; + } else { - throw new TypeError; + throw new TypeError(); } } else { - throw new TypeError; + throw new TypeError(); } } From e5160ed2607cd5282ace0f82fcae16b1bce96a9f Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:12:48 +0500 Subject: [PATCH 09/14] =?UTF-8?q?=D0=9B=D0=B0=D1=81=D1=82=20=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roman-time.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/roman-time.js b/roman-time.js index 38282fd..e407179 100644 --- a/roman-time.js +++ b/roman-time.js @@ -9,6 +9,7 @@ function concatinationTime(element) { var tensList = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; if (element === 0) { + return 'N'; } return tensList[Math.floor(element / 10)] + onesList[element % 10]; @@ -17,7 +18,6 @@ function concatinationTime(element) { /** * @param {String} time – âðåìÿ â ôîðìàòå HH:MM (íàïðèìåð, 09:05) - * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) */ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; @@ -29,9 +29,8 @@ function romanTime(time) { var secondElement = parseInt(timeList[1]); if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - console.log(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); - return; - + window.alert(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + } else { throw new TypeError(); } From 56742105c4af81b73f53c63c321e972572a13abc Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:15:43 +0500 Subject: [PATCH 10/14] sad22 --- roman-time.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index e407179..f65d661 100644 --- a/roman-time.js +++ b/roman-time.js @@ -12,12 +12,14 @@ function concatinationTime(element) { return 'N'; } + return tensList[Math.floor(element / 10)] + onesList[element % 10]; } /** * @param {String} time – âðåìÿ â ôîðìàòå HH:MM (íàïðèìåð, 09:05) + * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) */ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; @@ -29,7 +31,8 @@ function romanTime(time) { var secondElement = parseInt(timeList[1]); if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - window.alert(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + + return(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); } else { throw new TypeError(); From 7dc26d3c191d3182f46c9ece43a96156feaf7c34 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:23:52 +0500 Subject: [PATCH 11/14] ff --- roman-time.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/roman-time.js b/roman-time.js index f65d661..74e29e9 100644 --- a/roman-time.js +++ b/roman-time.js @@ -1,7 +1,7 @@ 'use strict'; /** - * @param {String} element – перевод из арабской в римскую + * @param {int} element – перевод из арабской в римскую * @returns {String} – âðåìÿ ðèìñêèìè öèôðàìè (IX:V) */ function concatinationTime(element) { @@ -9,12 +9,11 @@ function concatinationTime(element) { var tensList = ['', 'X', 'XX', 'XXX', 'XL', 'L', 'LX']; if (element === 0) { - + return 'N'; } - - return tensList[Math.floor(element / 10)] + onesList[element % 10]; + return tensList[Math.floor(element / 10)] + onesList[element % 10]; } /** @@ -31,12 +30,10 @@ function romanTime(time) { var secondElement = parseInt(timeList[1]); if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - - return(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); - } else { - throw new TypeError(); + return(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); } + throw new TypeError(); } else { throw new TypeError(); From ea98ce574dbadf1b11ec18d70563a7831d228425 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:25:57 +0500 Subject: [PATCH 12/14] foo --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 74e29e9..675c2e1 100644 --- a/roman-time.js +++ b/roman-time.js @@ -31,7 +31,7 @@ function romanTime(time) { if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { - return(concatinationTime(firstElement) + ':' + concatinationTime(secondElement)); + return concatinationTime(firstElement) + ':' + concatinationTime(secondElement); } throw new TypeError(); From ca72f462009932fad99b6225a1d999a66428fe35 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:28:45 +0500 Subject: [PATCH 13/14] Last --- roman-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roman-time.js b/roman-time.js index 675c2e1..37c5c08 100644 --- a/roman-time.js +++ b/roman-time.js @@ -29,7 +29,7 @@ function romanTime(time) { var firstElement = parseInt(timeList[0]); var secondElement = parseInt(timeList[1]); - if (firstElement >= 0 && firstElement <= 24 && secondElement >= 0 && secondElement <= 60) { + if (firstElement >= 0 && firstElement < 24 && secondElement >= 0 && secondElement <= 60) { return concatinationTime(firstElement) + ':' + concatinationTime(secondElement); } From 749ed06d0e582040cf9c42b8a342294c8c66fb30 Mon Sep 17 00:00:00 2001 From: Bizilizi Date: Wed, 12 Oct 2016 00:32:50 +0500 Subject: [PATCH 14/14] Check map --- roman-time.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/roman-time.js b/roman-time.js index 37c5c08..353d74d 100644 --- a/roman-time.js +++ b/roman-time.js @@ -24,10 +24,10 @@ function romanTime(time) { var regexp = /[0-9][0-9]:[0-9][0-9]+$/i; if (regexp.test(time)) { - var timeList = time.split(':'); + var timeList = time.split(':').map(element => parseInt(element)); - var firstElement = parseInt(timeList[0]); - var secondElement = parseInt(timeList[1]); + var firstElement = timeList[0]; + var secondElement = timeList[1]; if (firstElement >= 0 && firstElement < 24 && secondElement >= 0 && secondElement <= 60) { @@ -40,4 +40,5 @@ function romanTime(time) { } } +romanTime('24:00 ') module.exports = romanTime;