Advertisement
Lusien_Lashans

js2

Oct 21st, 2018
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. /**
  4.  * Сделано задание на звездочку
  5.  * Реализован метод importFromCsv
  6.  */
  7. const isStar = true;
  8.  
  9. /**
  10.  * Телефонная книга
  11.  */
  12. let phoneBook = new Map();
  13.  
  14. /**
  15.  * Добавление записи в телефонную книгу
  16.  * @param {String} phone
  17.  * @param {String?} name
  18.  * @param {String?} email
  19.  * @returns {Boolean}
  20.  */
  21. function checkPhoneFormat(phone) {
  22.     return /^\d{10}$/.test(phone);
  23. }
  24.  
  25. function checkNameFormat(name) {
  26.     return (!(name === undefined || name === ''));
  27. }
  28.  
  29. function add(phone, name, email) {
  30.     if (!checkPhoneFormat(phone) || phoneBook.has(phone) || !checkNameFormat(name)) {
  31.         return false;
  32.     }
  33.     email = (email === undefined) ? '' : email;
  34.     phoneBook.set(phone, {
  35.         name, email
  36.     });
  37.     return true;
  38. }
  39.  
  40. /**
  41.  * Обновление записи в телефонной книге
  42.  * @param {String} phone
  43.  * @param {String?} name
  44.  * @param {String?} email
  45.  * @returns {Boolean}
  46.  */
  47. function update(phone, name, email) {
  48.  
  49. }
  50.  
  51. /**
  52.  * Удаление записей по запросу из телефонной книги
  53.  * @param {String} query
  54.  * @returns {Number}
  55.  */
  56. function findAndRemove(query) {
  57.  
  58. }
  59.  
  60. /**
  61.  * Поиск записей по запросу в телефонной книге
  62.  * @param {String} query
  63.  * @returns {String[]}
  64.  */
  65. function find(query) {
  66.  
  67. }
  68.  
  69. /**
  70.  * Импорт записей из csv-формата
  71.  * @star
  72.  * @param {String} csv
  73.  * @returns {Number} – количество добавленных и обновленных записей
  74.  */
  75. function importFromCsv(csv) {
  76.     // Парсим csv
  77.     // Добавляем в телефонную книгу
  78.     // Либо обновляем, если запись с таким телефоном уже существует
  79.  
  80.     return csv.split('\n').length;
  81. }
  82.  
  83. module.exports = {
  84.     add,
  85.     update,
  86.     findAndRemove,
  87.     find,
  88.     importFromCsv,
  89.  
  90.     isStar
  91. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement