🆘 Как создать Pull Request
Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками.
Прежде чем отправлять решение проверьте его на соответствие общим требованиям.
А также на соответствие codestyle. Для этого в корне выполните:
// Устанавливаем проверяльщик
npm install
// Проверяем
npm run lint
// В результате выведутся ошибки, если они есть
// Если какие-либо ошибки будут не понятны – смело спрашиваем у ментора
Как известно, каждый уважающий себя разработчик должен в жизни сделать три вещи:
посадить DOM дерево, построить абстракцию и вырастить написать телефонную книгу.
В репозитории, изнемогая от нетерпения, вас ожидают два файла:
-
phone-book.js – здесь будет ваш код. В нём 3 метода, которые вы должны реализовать:
-
add(name, phone, email)
– добавляет запись в телефонную книгу, если какое-либо из полей не валидно, то запись не добавляется;Примеры номеров:
// Валидные +7 (111) 777-2-222 +7 (111) 777 2 222 +7 111 777-2-222 7 111 777-2-222 111 777-2-222 71117772222 +34 111 777-2-222 // Не валидные 777-2-222 АБС-6666 +7 (111) 777%2%222 +7 (111 777-2-222 7+ (111) 777-2-222 -7 (111) 777-2-222
Примеры электронной почты:
// Валидные [email protected] [email protected] info@инфо.рф // Не валидные info@yandex info@[email protected] info.yandex.ru
-
find(query)
– находит записи в телефонной книге по запросуquery
(и при этом ищет во всех полях), выводит построчно (а поля через запятую); если запрос не указан – выводит все записи;Примеры запросов: «Сергей», «+7», «@gmail.com».
Пример вывода:
Сергей, +7 (999) 666-7-778, [email protected] Олег, +7 (999) 777-7-777, [email protected]
-
remove(query)
– удаляет запись из телефонной книги по запросу;
-
-
index.js - пример скрипта, который работает с вашей телефонной книгой.
Будет нереально круто, если вы реализуете методы:
-
import(filename)
– добавляет запись в телефонную книгу из CSV файла; пример файла в репозитории backup.csv; читаем файл, добавляем валидные записи в книгу; -
showTable()
– выводит записи в виде красивой таблички;
Пример того, как предложил сделать Олег Семичев:┌─────────────┬────────────────────╥──────────────────┐ │ Имя │ Телефон ║ email │ ├─────────────┼────────────────────╫──────────────────┤ │ Уася │ +7 (456) 234-40-50 ║ [email protected] │ │ Ашот │ +7 (456) 234-40-50 ║ [email protected] │ │ Мария │ +7 (456) 234-40-50 ║ [email protected] │ └─────────────┴────────────────────╨──────────────────┘
⚠️ Но он хочет, чтобы вы сделали лучше!⚠️