From 4dd3fbf9b1b3f181abc4ddd080dd6240c6be34a4 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 22:56:57 +0500 Subject: [PATCH 01/17] 1 --- phone-book.js | 87 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 82 insertions(+), 5 deletions(-) diff --git a/phone-book.js b/phone-book.js index 69fb468..79e309d 100644 --- a/phone-book.js +++ b/phone-book.js @@ -9,7 +9,7 @@ exports.isStar = true; /** * Телефонная книга */ -var phoneBook; +var phoneBook = []; /** * Добавление записи в телефонную книгу @@ -18,7 +18,33 @@ var phoneBook; * @param {String} email */ exports.add = function (phone, name, email) { - + error = ''; + if(!phone.match(/\b\d{10}\b/i)){ + error = 1; + } + if(!email){ + email = 0; + } + if(!name){ + error = 1; + } + if(error){ + return false; + } + else{ + phoneBook.forEach(function(item, i, arr) { + if(item[0] == phone){ + error = 1; + } + }); + if(!error){ + phoneBook[phoneBook.length] = [phone, name, email]; + return true; + } + else{ + return false; + } + } }; /** @@ -28,7 +54,29 @@ exports.add = function (phone, name, email) { * @param {String} email */ exports.update = function (phone, name, email) { - + error = ''; + if(!phone.match(/\b\d{10}\b/i)){ + error = 1; + } + if(!email){ + email = 0; + } + if(!name){ + error = 1; + } + if(error){ + return false; + } + phoneBook.forEach(function(item, i, arr) { + if(item[0] == phone){ + phoneBook[i][1] = name; + phoneBook[i][2] = email; + return true; + } + else{ + return false; + } + }); }; /** @@ -36,7 +84,18 @@ exports.update = function (phone, name, email) { * @param {String} query */ exports.findAndRemove = function (query) { - + if(query){ + j = 0; + phoneBook.forEach(function(item, i, arr) { + item.forEach(function(item2, i2, arr2) { + if(item2 == query){ + delete phoneBook[i]; + j++; + } + }); + }); + } + return j; }; /** @@ -44,7 +103,25 @@ exports.findAndRemove = function (query) { * @param {String} query */ exports.find = function (query) { - + findList = []; + if(query){ + phoneBook.forEach(function(item, i, arr) { + item.forEach(function(item2, i2, arr2) { + if(item2 == query){ + item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; + } + }); + }); + } + if(query == "*"){ + phoneBook.forEach(function(item, i, arr) { + item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; + }); + } + findList.sort(); + return findList; }; /** From 47452e40c58a5b6b50fd411c02e87ad80c894f1c Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:00:32 +0500 Subject: [PATCH 02/17] 2 --- phone-book.js | 222 +++++++++++++++++++++++++------------------------- 1 file changed, 111 insertions(+), 111 deletions(-) diff --git a/phone-book.js b/phone-book.js index 79e309d..1bf7657 100644 --- a/phone-book.js +++ b/phone-book.js @@ -1,139 +1,139 @@ 'use strict'; /** - * Сделано задание на звездочку - * Реализован метод importFromCsv - */ +* Сделано задание на звездочку +* Реализован метод importFromCsv +*/ exports.isStar = true; /** - * Телефонная книга - */ +* Телефонная книга +*/ var phoneBook = []; /** - * Добавление записи в телефонную книгу - * @param {String} phone - * @param {String} name - * @param {String} email - */ +* Добавление записи в телефонную книгу +* @param {String} phone +* @param {String} name +* @param {String} email +*/ exports.add = function (phone, name, email) { - error = ''; - if(!phone.match(/\b\d{10}\b/i)){ - error = 1; - } - if(!email){ - email = 0; - } - if(!name){ - error = 1; - } - if(error){ - return false; - } - else{ - phoneBook.forEach(function(item, i, arr) { - if(item[0] == phone){ - error = 1; - } - }); - if(!error){ - phoneBook[phoneBook.length] = [phone, name, email]; - return true; - } - else{ - return false; - } - } +error = ''; +if(!phone.match(/\b\d{10}\b/i)){ +error = 1; +} +if(!email){ +email = 0; +} +if(!name){ +error = 1; +} +if(error){ +return false; +} +else{ +phoneBook.forEach(function(item, i, arr) { +if(item[0] == phone){ +error = 1; +} +}); +if(!error){ +phoneBook[phoneBook.length] = [phone, name, email]; +return true; +} +else{ +return false; +} +} }; /** - * Обновление записи в телефонной книге - * @param {String} phone - * @param {String} name - * @param {String} email - */ +* Обновление записи в телефонной книге +* @param {String} phone +* @param {String} name +* @param {String} email +*/ exports.update = function (phone, name, email) { - error = ''; - if(!phone.match(/\b\d{10}\b/i)){ - error = 1; - } - if(!email){ - email = 0; - } - if(!name){ - error = 1; - } - if(error){ - return false; - } - phoneBook.forEach(function(item, i, arr) { - if(item[0] == phone){ - phoneBook[i][1] = name; - phoneBook[i][2] = email; - return true; - } - else{ - return false; - } - }); +error = ''; +if(!phone.match(/\b\d{10}\b/i)){ +error = 1; +} +if(!email){ +email = 0; +} +if(!name){ +error = 1; +} +if(error){ +return false; +} +phoneBook.forEach(function(item, i, arr) { +if(item[0] == phone){ +phoneBook[i][1] = name; +phoneBook[i][2] = email; +return true; +} +else{ +return false; +} +}); }; /** - * Удаление записей по запросу из телефонной книги - * @param {String} query - */ +* Удаление записей по запросу из телефонной книги +* @param {String} query +*/ exports.findAndRemove = function (query) { - if(query){ - j = 0; - phoneBook.forEach(function(item, i, arr) { - item.forEach(function(item2, i2, arr2) { - if(item2 == query){ - delete phoneBook[i]; - j++; - } - }); - }); - } - return j; +if(query){ +j = 0; +phoneBook.forEach(function(item, i, arr) { +item.forEach(function(item2, i2, arr2) { +if(item2 == query){ +delete phoneBook[i]; +j++; +} +}); +}); +} +return j; }; /** - * Поиск записей по запросу в телефонной книге - * @param {String} query - */ +* Поиск записей по запросу в телефонной книге +* @param {String} query +*/ exports.find = function (query) { - findList = []; - if(query){ - phoneBook.forEach(function(item, i, arr) { - item.forEach(function(item2, i2, arr2) { - if(item2 == query){ - item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); - findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; - } - }); - }); - } - if(query == "*"){ - phoneBook.forEach(function(item, i, arr) { - item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); - findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; - }); - } - findList.sort(); - return findList; +findList = []; +if(query){ +phoneBook.forEach(function(item, i, arr) { +item.forEach(function(item2, i2, arr2) { +if(item2 == query){ +item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); +findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; +} +}); +}); +} +if(query == "*"){ +phoneBook.forEach(function(item, i, arr) { +item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); +findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; +}); +} +findList.sort(); +return findList; }; /** - * Импорт записей из csv-формата - * @star - * @param {String} csv - * @returns {Number} – количество добавленных и обновленных записей - */ +* Импорт записей из csv-формата +* @star +* @param {String} csv +* @returns {Number} – количество добавленных и обновленных записей +*/ exports.importFromCsv = function (csv) { - // Парсим csv - // Добавляем в телефонную книгу - // Либо обновляем, если запись с таким телефоном уже существует +// Парсим csv +// Добавляем в телефонную книгу +// Либо обновляем, если запись с таким телефоном уже существует - return csv.split('\n').length; +return csv.split('\n').length; }; From 5834e4c7102f9dff221bba800506930cf6d9c119 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:06:13 +0500 Subject: [PATCH 03/17] 3 --- phone-book.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/phone-book.js b/phone-book.js index 1bf7657..5a3735c 100644 --- a/phone-book.js +++ b/phone-book.js @@ -20,29 +20,27 @@ var phoneBook = []; exports.add = function (phone, name, email) { error = ''; if(!phone.match(/\b\d{10}\b/i)){ -error = 1; + error = 1; } if(!email){ -email = 0; + email = 0; } if(!name){ -error = 1; + error = 1; } if(error){ -return false; -} -else{ -phoneBook.forEach(function(item, i, arr) { -if(item[0] == phone){ -error = 1; -} + return false; + }else{ + phoneBook.forEach(function(item, i, arr) { + if(item[0] === phone){ + error = 1; + } }); if(!error){ -phoneBook[phoneBook.length] = [phone, name, email]; -return true; -} -else{ -return false; + phoneBook[phoneBook.length] = [phone, name, email]; + return true; + }else{ + return false; } } }; From 83d6a16d5cc73ac6df66724fd58fd224cdb5338b Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:12:14 +0500 Subject: [PATCH 04/17] 4 --- phone-book.js | 143 +++++++++++++++++++++++++------------------------- 1 file changed, 71 insertions(+), 72 deletions(-) diff --git a/phone-book.js b/phone-book.js index 5a3735c..435e931 100644 --- a/phone-book.js +++ b/phone-book.js @@ -18,31 +18,31 @@ var phoneBook = []; * @param {String} email */ exports.add = function (phone, name, email) { -error = ''; -if(!phone.match(/\b\d{10}\b/i)){ + error = ''; + if(!phone.match(/\b\d{10}\b/i)){ error = 1; -} -if(!email){ + } + if(!email){ email = 0; -} -if(!name){ + } + if(!name){ error = 1; -} -if(error){ + } + if(error){ return false; }else{ phoneBook.forEach(function(item, i, arr) { - if(item[0] === phone){ - error = 1; + if(item[0] === phone){ + error = 1; + } + }); + if(!error){ + phoneBook[phoneBook.length] = [phone, name, email]; + return true; + }else{ + return false; } -}); -if(!error){ - phoneBook[phoneBook.length] = [phone, name, email]; - return true; - }else{ - return false; -} -} + } }; /** @@ -52,29 +52,28 @@ if(!error){ * @param {String} email */ exports.update = function (phone, name, email) { -error = ''; -if(!phone.match(/\b\d{10}\b/i)){ -error = 1; -} -if(!email){ -email = 0; -} -if(!name){ -error = 1; -} -if(error){ -return false; -} -phoneBook.forEach(function(item, i, arr) { -if(item[0] == phone){ -phoneBook[i][1] = name; -phoneBook[i][2] = email; -return true; -} -else{ -return false; -} -}); + error = ''; + if(!phone.match(/\b\d{10}\b/i)){ + error = 1; + } + if(!email){ + email = 0; + } + if(!name){ + error = 1; + } + if(error){ + return false; + } + phoneBook.forEach(function(item, i, arr) { + if(item[0] == phone){ + phoneBook[i][1] = name; + phoneBook[i][2] = email; + return true; + }else{ + return false; + } + }); }; /** @@ -82,18 +81,18 @@ return false; * @param {String} query */ exports.findAndRemove = function (query) { -if(query){ -j = 0; -phoneBook.forEach(function(item, i, arr) { -item.forEach(function(item2, i2, arr2) { -if(item2 == query){ -delete phoneBook[i]; -j++; -} -}); -}); -} -return j; + if(query){ + j = 0; + phoneBook.forEach(function(item, i, arr) { + item.forEach(function(item2, i2, arr2) { + if(item2 == query){ + delete phoneBook[i]; + j++; + } + }); + }); + } + return j; }; /** @@ -101,25 +100,25 @@ return j; * @param {String} query */ exports.find = function (query) { -findList = []; -if(query){ -phoneBook.forEach(function(item, i, arr) { -item.forEach(function(item2, i2, arr2) { -if(item2 == query){ -item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); -findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; -} -}); -}); -} -if(query == "*"){ -phoneBook.forEach(function(item, i, arr) { -item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); -findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; -}); -} -findList.sort(); -return findList; + findList = []; + if(query){ + phoneBook.forEach(function(item, i, arr) { + item.forEach(function(item2, i2, arr2) { + if(item2 == query){ + item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; + } + }); + }); + } + if(query == "*"){ + phoneBook.forEach(function(item, i, arr) { + item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; + }); + } + findList.sort(); + return findList; }; /** From ef5d8605f50802dc5b7e25b69a11e77e91fe4d70 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:16:38 +0500 Subject: [PATCH 05/17] 5 --- phone-book.js | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/phone-book.js b/phone-book.js index 435e931..9ad5410 100644 --- a/phone-book.js +++ b/phone-book.js @@ -19,16 +19,16 @@ var phoneBook = []; */ exports.add = function (phone, name, email) { error = ''; - if(!phone.match(/\b\d{10}\b/i)){ + if (!phone.match(/\b\d{10}\b/i)){ error = 1; } - if(!email){ + if (!email){ email = 0; } - if(!name){ + if (!name){ error = 1; } - if(error){ + if (error){ return false; }else{ phoneBook.forEach(function(item, i, arr) { @@ -36,7 +36,7 @@ exports.add = function (phone, name, email) { error = 1; } }); - if(!error){ + if (!error){ phoneBook[phoneBook.length] = [phone, name, email]; return true; }else{ @@ -53,20 +53,20 @@ exports.add = function (phone, name, email) { */ exports.update = function (phone, name, email) { error = ''; - if(!phone.match(/\b\d{10}\b/i)){ + if (!phone.match(/\b\d{10}\b/i)){ error = 1; } - if(!email){ + if (!email){ email = 0; } - if(!name){ + if (!name){ error = 1; } - if(error){ + if (error){ return false; } phoneBook.forEach(function(item, i, arr) { - if(item[0] == phone){ + if (item[0] === phone){ phoneBook[i][1] = name; phoneBook[i][2] = email; return true; @@ -81,11 +81,11 @@ exports.update = function (phone, name, email) { * @param {String} query */ exports.findAndRemove = function (query) { - if(query){ + if (query){ j = 0; phoneBook.forEach(function(item, i, arr) { item.forEach(function(item2, i2, arr2) { - if(item2 == query){ + if (item2 === query){ delete phoneBook[i]; j++; } @@ -101,17 +101,17 @@ exports.findAndRemove = function (query) { */ exports.find = function (query) { findList = []; - if(query){ + if (query){ phoneBook.forEach(function(item, i, arr) { item.forEach(function(item2, i2, arr2) { - if(item2 == query){ + if (item2 === query){ item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; } }); }); } - if(query == "*"){ + if (query === "*"){ phoneBook.forEach(function(item, i, arr) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; @@ -132,5 +132,5 @@ exports.importFromCsv = function (csv) { // Добавляем в телефонную книгу // Либо обновляем, если запись с таким телефоном уже существует -return csv.split('\n').length; + return csv.split('\n').length; }; From 56ffda78dd58bd418cf99f01b5f0fd2fd7f0ba1a Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:20:14 +0500 Subject: [PATCH 06/17] 6 --- phone-book.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/phone-book.js b/phone-book.js index 9ad5410..fe33596 100644 --- a/phone-book.js +++ b/phone-book.js @@ -18,7 +18,7 @@ var phoneBook = []; * @param {String} email */ exports.add = function (phone, name, email) { - error = ''; + var error = ''; if (!phone.match(/\b\d{10}\b/i)){ error = 1; } @@ -30,16 +30,16 @@ exports.add = function (phone, name, email) { } if (error){ return false; - }else{ + }else { phoneBook.forEach(function(item, i, arr) { - if(item[0] === phone){ + if (item[0] === phone){ error = 1; } }); if (!error){ phoneBook[phoneBook.length] = [phone, name, email]; return true; - }else{ + }else { return false; } } @@ -52,7 +52,7 @@ exports.add = function (phone, name, email) { * @param {String} email */ exports.update = function (phone, name, email) { - error = ''; + var error = ''; if (!phone.match(/\b\d{10}\b/i)){ error = 1; } @@ -70,7 +70,7 @@ exports.update = function (phone, name, email) { phoneBook[i][1] = name; phoneBook[i][2] = email; return true; - }else{ + }else { return false; } }); @@ -82,7 +82,7 @@ exports.update = function (phone, name, email) { */ exports.findAndRemove = function (query) { if (query){ - j = 0; + var j = 0; phoneBook.forEach(function(item, i, arr) { item.forEach(function(item2, i2, arr2) { if (item2 === query){ From c8420508f5e1a1fab4f8ae36766513271b8231ec Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:25:22 +0500 Subject: [PATCH 07/17] 7 --- phone-book.js | 56 +++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/phone-book.js b/phone-book.js index fe33596..6417576 100644 --- a/phone-book.js +++ b/phone-book.js @@ -19,27 +19,27 @@ var phoneBook = []; */ exports.add = function (phone, name, email) { var error = ''; - if (!phone.match(/\b\d{10}\b/i)){ + if ( !phone.match( /\b\d{10}\b/i ) ){ error = 1; } - if (!email){ + if ( !email ){ email = 0; } - if (!name){ + if ( !name ){ error = 1; } - if (error){ + if ( error ){ return false; - }else { - phoneBook.forEach(function(item, i, arr) { - if (item[0] === phone){ + } else { + phoneBook.forEach( function( item, i, arr ) { + if ( item[0] === phone ){ error = 1; } }); - if (!error){ + if ( !error ){ phoneBook[phoneBook.length] = [phone, name, email]; return true; - }else { + } else { return false; } } @@ -53,24 +53,24 @@ exports.add = function (phone, name, email) { */ exports.update = function (phone, name, email) { var error = ''; - if (!phone.match(/\b\d{10}\b/i)){ + if ( !phone.match( /\b\d{10}\b/i ) ){ error = 1; } - if (!email){ + if ( !email ){ email = 0; } - if (!name){ + if ( !name ){ error = 1; } - if (error){ + if ( error ){ return false; } - phoneBook.forEach(function(item, i, arr) { - if (item[0] === phone){ + phoneBook.forEach( function( item, i, arr ) { + if ( item[0] === phone ){ phoneBook[i][1] = name; phoneBook[i][2] = email; return true; - }else { + } else { return false; } }); @@ -80,12 +80,12 @@ exports.update = function (phone, name, email) { * Удаление записей по запросу из телефонной книги * @param {String} query */ -exports.findAndRemove = function (query) { - if (query){ +exports.findAndRemove = function ( query ) { + if ( query ){ var j = 0; - phoneBook.forEach(function(item, i, arr) { - item.forEach(function(item2, i2, arr2) { - if (item2 === query){ + phoneBook.forEach(function( item, i, arr ) { + item.forEach( function( item2, i2, arr2 ) { + if ( item2 === query ){ delete phoneBook[i]; j++; } @@ -99,20 +99,20 @@ exports.findAndRemove = function (query) { * Поиск записей по запросу в телефонной книге * @param {String} query */ -exports.find = function (query) { +exports.find = function ( query ) { findList = []; - if (query){ - phoneBook.forEach(function(item, i, arr) { - item.forEach(function(item2, i2, arr2) { - if (item2 === query){ + if ( query ){ + phoneBook.forEach( function( item, i, arr ) { + item.forEach( function( item2, i2, arr2 ) { + if ( item2 === query ){ item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; } }); }); } - if (query === "*"){ - phoneBook.forEach(function(item, i, arr) { + if ( query === "*" ){ + phoneBook.forEach( function( item, i, arr ) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; }); From bfb9786d6d88d350943704868d10c16e9d18c02d Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:28:48 +0500 Subject: [PATCH 08/17] 8 --- phone-book.js | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/phone-book.js b/phone-book.js index 6417576..3fe01ec 100644 --- a/phone-book.js +++ b/phone-book.js @@ -19,24 +19,24 @@ var phoneBook = []; */ exports.add = function (phone, name, email) { var error = ''; - if ( !phone.match( /\b\d{10}\b/i ) ){ + if (!phone.match(/\b\d{10}\b/i )) { error = 1; } - if ( !email ){ + if (!email) { email = 0; } - if ( !name ){ + if (!name) { error = 1; } - if ( error ){ + if (error) { return false; } else { phoneBook.forEach( function( item, i, arr ) { - if ( item[0] === phone ){ + if (item[0] === phone) { error = 1; } }); - if ( !error ){ + if (!error) { phoneBook[phoneBook.length] = [phone, name, email]; return true; } else { @@ -53,20 +53,20 @@ exports.add = function (phone, name, email) { */ exports.update = function (phone, name, email) { var error = ''; - if ( !phone.match( /\b\d{10}\b/i ) ){ + if (!phone.match(/\b\d{10}\b/i)) { error = 1; } - if ( !email ){ + if (!email) { email = 0; } - if ( !name ){ + if (!name) { error = 1; } - if ( error ){ + if (error) { return false; } - phoneBook.forEach( function( item, i, arr ) { - if ( item[0] === phone ){ + phoneBook.forEach(function(item, i, arr) { + if (item[0] === phone){ phoneBook[i][1] = name; phoneBook[i][2] = email; return true; @@ -80,12 +80,12 @@ exports.update = function (phone, name, email) { * Удаление записей по запросу из телефонной книги * @param {String} query */ -exports.findAndRemove = function ( query ) { - if ( query ){ +exports.findAndRemove = function (query) { + if (query) { var j = 0; - phoneBook.forEach(function( item, i, arr ) { - item.forEach( function( item2, i2, arr2 ) { - if ( item2 === query ){ + phoneBook.forEach(function(item, i, arr) { + item.forEach(function(item2, i2, arr2) { + if (item2 === query){ delete phoneBook[i]; j++; } @@ -99,20 +99,20 @@ exports.findAndRemove = function ( query ) { * Поиск записей по запросу в телефонной книге * @param {String} query */ -exports.find = function ( query ) { +exports.find = function (query) { findList = []; - if ( query ){ - phoneBook.forEach( function( item, i, arr ) { - item.forEach( function( item2, i2, arr2 ) { - if ( item2 === query ){ + if (query) { + phoneBook.forEach(function(item, i, arr) { + item.forEach(function(item2, i2, arr2) { + if (item2 === query) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; } }); }); } - if ( query === "*" ){ - phoneBook.forEach( function( item, i, arr ) { + if (query === "*") { + phoneBook.forEach(function(item, i, arr) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; }); From 903864fa98fcd3d464293ff80df9a8666c709cc2 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:33:21 +0500 Subject: [PATCH 09/17] 9 --- phone-book.js | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/phone-book.js b/phone-book.js index 3fe01ec..6e69b35 100644 --- a/phone-book.js +++ b/phone-book.js @@ -12,11 +12,12 @@ exports.isStar = true; var phoneBook = []; /** -* Добавление записи в телефонную книгу -* @param {String} phone -* @param {String} name -* @param {String} email -*/ + * Добавление записи в телефонную книгу + * @param {String} phone + * @param {String} name + * @param {String} email + * @returns {Bool} + */ exports.add = function (phone, name, email) { var error = ''; if (!phone.match(/\b\d{10}\b/i )) { @@ -46,11 +47,11 @@ exports.add = function (phone, name, email) { }; /** -* Обновление записи в телефонной книге -* @param {String} phone -* @param {String} name -* @param {String} email -*/ + * Обновление записи в телефонной книге + * @param {String} phone + * @param {String} name + * @param {String} email + */ exports.update = function (phone, name, email) { var error = ''; if (!phone.match(/\b\d{10}\b/i)) { @@ -77,8 +78,8 @@ exports.update = function (phone, name, email) { }; /** -* Удаление записей по запросу из телефонной книги -* @param {String} query + * Удаление записей по запросу из телефонной книги + * @param {String} query */ exports.findAndRemove = function (query) { if (query) { @@ -96,11 +97,11 @@ exports.findAndRemove = function (query) { }; /** -* Поиск записей по запросу в телефонной книге -* @param {String} query + * Поиск записей по запросу в телефонной книге + * @param {String} query */ exports.find = function (query) { - findList = []; + var findList = []; if (query) { phoneBook.forEach(function(item, i, arr) { item.forEach(function(item2, i2, arr2) { @@ -122,10 +123,10 @@ exports.find = function (query) { }; /** -* Импорт записей из csv-формата -* @star -* @param {String} csv -* @returns {Number} – количество добавленных и обновленных записей + * Импорт записей из csv-формата + * @star + * @param {String} csv + * @returns {Number} – количество добавленных и обновленных записей */ exports.importFromCsv = function (csv) { // Парсим csv From 2f455964407f11ec155b5aaafe2501adefb5ba30 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:40:22 +0500 Subject: [PATCH 10/17] 10 --- phone-book.js | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/phone-book.js b/phone-book.js index 6e69b35..9950fcb 100644 --- a/phone-book.js +++ b/phone-book.js @@ -20,7 +20,7 @@ var phoneBook = []; */ exports.add = function (phone, name, email) { var error = ''; - if (!phone.match(/\b\d{10}\b/i )) { + if (!phone.match(/\b\d{10}\b/i)) { error = 1; } if (!email) { @@ -31,19 +31,19 @@ exports.add = function (phone, name, email) { } if (error) { return false; - } else { - phoneBook.forEach( function( item, i, arr ) { - if (item[0] === phone) { - error = 1; - } - }); - if (!error) { - phoneBook[phoneBook.length] = [phone, name, email]; - return true; - } else { - return false; - } } + phoneBook.forEach(function(item, i, arr) { + if (item[0] === phone) { + error = 1; + } + }); + if (!error) { + phoneBook[phoneBook.length] = [phone, name, email]; + return true; + } else { + return false; + } + }; /** @@ -66,8 +66,8 @@ exports.update = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach(function(item, i, arr) { - if (item[0] === phone){ + phoneBook.forEach(function(item, i) { + if (item[0] === phone) { phoneBook[i][1] = name; phoneBook[i][2] = email; return true; @@ -84,8 +84,8 @@ exports.update = function (phone, name, email) { exports.findAndRemove = function (query) { if (query) { var j = 0; - phoneBook.forEach(function(item, i, arr) { - item.forEach(function(item2, i2, arr2) { + phoneBook.forEach(function(item, i) { + item.forEach(function(item2, i2) { if (item2 === query){ delete phoneBook[i]; j++; @@ -103,8 +103,8 @@ exports.findAndRemove = function (query) { exports.find = function (query) { var findList = []; if (query) { - phoneBook.forEach(function(item, i, arr) { - item.forEach(function(item2, i2, arr2) { + phoneBook.forEach(function(item, i) { + item.forEach(function(item2, i2) { if (item2 === query) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; @@ -113,7 +113,7 @@ exports.find = function (query) { }); } if (query === "*") { - phoneBook.forEach(function(item, i, arr) { + phoneBook.forEach(function(item, i) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; }); From 2262f884d8672d851c59865cf8fb895843e33fb4 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:42:46 +0500 Subject: [PATCH 11/17] 11 --- phone-book.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/phone-book.js b/phone-book.js index 9950fcb..c31b8f4 100644 --- a/phone-book.js +++ b/phone-book.js @@ -32,18 +32,17 @@ exports.add = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach(function(item, i, arr) { - if (item[0] === phone) { - error = 1; - } - }); - if (!error) { - phoneBook[phoneBook.length] = [phone, name, email]; - return true; - } else { - return false; - } - + phoneBook.forEach(function(item, i, arr) { + if (item[0] === phone) { + error = 1; + } + }); + if (!error) { + phoneBook[phoneBook.length] = [phone, name, email]; + return true; + } else { + return false; + } }; /** From ef49437278a9cf8426b05cdb985603637463fb79 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:48:29 +0500 Subject: [PATCH 12/17] 12 --- phone-book.js | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/phone-book.js b/phone-book.js index c31b8f4..31d6f3c 100644 --- a/phone-book.js +++ b/phone-book.js @@ -32,7 +32,7 @@ exports.add = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach(function(item, i, arr) { + phoneBook.forEach( function(item, i, arr) { if (item[0] === phone) { error = 1; } @@ -65,7 +65,7 @@ exports.update = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach(function(item, i) { + phoneBook.forEach( function(item, i) { if (item[0] === phone) { phoneBook[i][1] = name; phoneBook[i][2] = email; @@ -83,8 +83,8 @@ exports.update = function (phone, name, email) { exports.findAndRemove = function (query) { if (query) { var j = 0; - phoneBook.forEach(function(item, i) { - item.forEach(function(item2, i2) { + phoneBook.forEach( function(item, i) { + item.forEach( function(item2) { if (item2 === query){ delete phoneBook[i]; j++; @@ -92,7 +92,8 @@ exports.findAndRemove = function (query) { }); }); } - return j; + var count = j; + return count; }; /** @@ -102,8 +103,8 @@ exports.findAndRemove = function (query) { exports.find = function (query) { var findList = []; if (query) { - phoneBook.forEach(function(item, i) { - item.forEach(function(item2, i2) { + phoneBook.forEach( function(item) { + item.forEach( function(item2) { if (item2 === query) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; @@ -111,9 +112,11 @@ exports.find = function (query) { }); }); } - if (query === "*") { - phoneBook.forEach(function(item, i) { - item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + if (query === '*') { + phoneBook.forEach( function(item) { + item[0] = + '+7 (' + item[0].slice(0, 3) + ') ' + + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; }); } From 1d4d88b611c9b6660e3d3acf5d25ed4ee33a41ef Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:52:09 +0500 Subject: [PATCH 13/17] 12 --- phone-book.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/phone-book.js b/phone-book.js index 31d6f3c..3c053ba 100644 --- a/phone-book.js +++ b/phone-book.js @@ -32,7 +32,7 @@ exports.add = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach( function(item, i, arr) { + phoneBook.forEach(function (item, i) { if (item[0] === phone) { error = 1; } @@ -65,7 +65,7 @@ exports.update = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach( function(item, i) { + phoneBook.forEach(function (item, i) { if (item[0] === phone) { phoneBook[i][1] = name; phoneBook[i][2] = email; @@ -82,18 +82,17 @@ exports.update = function (phone, name, email) { */ exports.findAndRemove = function (query) { if (query) { - var j = 0; - phoneBook.forEach( function(item, i) { + var countList = 0; + phoneBook.forEach(function (item, i) { item.forEach( function(item2) { if (item2 === query){ delete phoneBook[i]; - j++; + countList++; } }); }); } - var count = j; - return count; + return countList; }; /** @@ -103,8 +102,8 @@ exports.findAndRemove = function (query) { exports.find = function (query) { var findList = []; if (query) { - phoneBook.forEach( function(item) { - item.forEach( function(item2) { + phoneBook.forEach(function (item) { + item.forEach(function (item2) { if (item2 === query) { item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; @@ -113,10 +112,10 @@ exports.find = function (query) { }); } if (query === '*') { - phoneBook.forEach( function(item) { + phoneBook.forEach(function (item) { item[0] = - '+7 (' + item[0].slice(0, 3) + ') ' - + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + '+7 (' + item[0].slice(0, 3) + ') ' + + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; }); } From 93a116e5e279bae491659a52f33972d9d7b46888 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Wed, 11 Oct 2017 23:56:16 +0500 Subject: [PATCH 14/17] 13 --- phone-book.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/phone-book.js b/phone-book.js index 3c053ba..aa38ef9 100644 --- a/phone-book.js +++ b/phone-book.js @@ -32,17 +32,17 @@ exports.add = function (phone, name, email) { if (error) { return false; } - phoneBook.forEach(function (item, i) { + phoneBook.forEach(function (item) { if (item[0] === phone) { error = 1; } }); if (!error) { phoneBook[phoneBook.length] = [phone, name, email]; + return true; - } else { - return false; - } + } + return false; }; /** @@ -81,10 +81,10 @@ exports.update = function (phone, name, email) { * @param {String} query */ exports.findAndRemove = function (query) { + var countList = 0; if (query) { - var countList = 0; phoneBook.forEach(function (item, i) { - item.forEach( function(item2) { + item.forEach(function (item2) { if (item2 === query){ delete phoneBook[i]; countList++; @@ -114,8 +114,8 @@ exports.find = function (query) { if (query === '*') { phoneBook.forEach(function (item) { item[0] = - '+7 (' + item[0].slice(0, 3) + ') ' - + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + '+7 (' + item[0].slice(0, 3) + ') ' + + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; }); } From 7335a9018844ed73e5ba93159b9e5724e6e10788 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Thu, 12 Oct 2017 00:02:00 +0500 Subject: [PATCH 15/17] 14 --- phone-book.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/phone-book.js b/phone-book.js index aa38ef9..79c042c 100644 --- a/phone-book.js +++ b/phone-book.js @@ -39,13 +39,14 @@ exports.add = function (phone, name, email) { }); if (!error) { phoneBook[phoneBook.length] = [phone, name, email]; - + return true; } + return false; }; -/** + /** * Обновление записи в телефонной книге * @param {String} phone * @param {String} name @@ -69,33 +70,34 @@ exports.update = function (phone, name, email) { if (item[0] === phone) { phoneBook[i][1] = name; phoneBook[i][2] = email; + return true; - } else { - return false; } + return false; }); }; -/** + /** * Удаление записей по запросу из телефонной книги * @param {String} query */ exports.findAndRemove = function (query) { - var countList = 0; + var countList = 0; if (query) { phoneBook.forEach(function (item, i) { item.forEach(function (item2) { - if (item2 === query){ + if (item2 === query) { delete phoneBook[i]; countList++; } }); }); } + return countList; }; -/** + /** * Поиск записей по запросу в телефонной книге * @param {String} query */ @@ -105,7 +107,8 @@ exports.find = function (query) { phoneBook.forEach(function (item) { item.forEach(function (item2) { if (item2 === query) { - item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); + item[0] = '+7 (' + item[0].slice(0, 3) + ') ' + item[0].slice(3, 6) + '-' + + item[0].slice(6, 8) + '-' + item[0].slice(8, 10); findList[findList.length] = item[1] + ' ' + item[0] + ' ' + item[2]; } }); @@ -120,6 +123,7 @@ exports.find = function (query) { }); } findList.sort(); + return findList; }; From 5dd1a06d292e2aa9fcfd178bedede38fa8138c28 Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Thu, 12 Oct 2017 00:05:12 +0500 Subject: [PATCH 16/17] 16 --- phone-book.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/phone-book.js b/phone-book.js index 79c042c..1a72822 100644 --- a/phone-book.js +++ b/phone-book.js @@ -43,14 +43,15 @@ exports.add = function (phone, name, email) { return true; } - return false; +return false; }; - /** +/** * Обновление записи в телефонной книге * @param {String} phone * @param {String} name * @param {String} email + * @returns {Bool} */ exports.update = function (phone, name, email) { var error = ''; @@ -77,9 +78,10 @@ exports.update = function (phone, name, email) { }); }; - /** +/** * Удаление записей по запросу из телефонной книги * @param {String} query + * @returns {Bool} */ exports.findAndRemove = function (query) { var countList = 0; @@ -97,9 +99,10 @@ exports.findAndRemove = function (query) { return countList; }; - /** +/** * Поиск записей по запросу в телефонной книге * @param {String} query + * @returns {Bool} */ exports.find = function (query) { var findList = []; From b539692cb23b255251f44d5d0d7f6d05796ac99c Mon Sep 17 00:00:00 2001 From: Kraken7 <32228264+Kraken7@users.noreply.github.com> Date: Thu, 12 Oct 2017 00:07:29 +0500 Subject: [PATCH 17/17] 17 --- phone-book.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phone-book.js b/phone-book.js index 1a72822..0da1f06 100644 --- a/phone-book.js +++ b/phone-book.js @@ -43,7 +43,7 @@ exports.add = function (phone, name, email) { return true; } -return false; + return false; }; /** @@ -74,6 +74,7 @@ exports.update = function (phone, name, email) { return true; } + return false; }); };