Skip to content

Mrbowtiesmind/javascript-task-2

This branch is 17 commits ahead of urfu-2016/javascript-task-2:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5bdea99 · Oct 17, 2016

History

18 Commits
Oct 11, 2016
Oct 11, 2016
Oct 11, 2016
Oct 11, 2016
Oct 11, 2016
Oct 13, 2016
Oct 11, 2016
Oct 11, 2016
Oct 17, 2016
Oct 11, 2016

Repository files navigation

Задача «Телефонная книга»

Перед выполнением задания внимательно прочитайте:

Основное задание

Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками.

Как известно, каждый уважающий себя разработчик должен в жизни сделать три вещи:

  • посадить DOM дерево
  • построить абстракцию
  • вырастить написать телефонную книгу

Предлагаем вам пройти легкий путь становления уважающего себя разработчика и реализовать для скрипта телефонной книги phone-book.js ряд необходимых методов.

Метод add для добавления записей:

  • На вход принимает «Телефон», «Имя» и «Электронную почту»
  • Возвращает true или false в зависимости от успеха опереации
  • Телефоны принимаются только в формате 5556667788 (без кода)
  • Не добавляет уже существующую запись
  • Не добавляет запись без имени

Метод update для обновления записей:

  • На вход принимает «Телефон», «Имя» и «Электронную почту»
  • Обновляет «Имя» и «Электронную почту» по заданному «Телефону»
  • Возвращает true или false в зависимости от успеха опереации
  • «Электронную почту» можно стереть (не передав последний параметр), а «Имя» – нет

Метод find для поиска записей:

  • На вход принимает запрос в виде строки
  • Ищет вхождение этой строки хотя бы в одно из полей «Телефон», «Имя» и «Электронную почту»
  • Возвращает отсортированный по «Имени» массив строк в формате name, phone, email
  • «Имя» и «Электронную почту» выводит как есть, а «Телефон» в формате +7 (555) 666-77-88
  • Пустой запрос не должен ничего находить
  • Запрос «*» находит все записи

Метод findAndRemove для удаления записей:

  • На вход принимает запрос в виде строки
  • Находит (смотри find) и удаляет все найденные записи
  • Возвращает число удаленных записей

В файле index.js вы можете найти примеры использования получившегося скриптика.

Дополнительное задание

Перед выполнением внимательно прочитайте про особенности

По одной добавлять записи в книгу не очень удобно, поэтому будет здорово, если вы добавите в решение импорт данных из csv. Для этого реализуйте код метода importFromCsv.

На вход метод принимает строку в формате csv. Если запись в телефонной книги уже есть – обновляет/дополняет её данными из csv строки. На выходе метод возвращает одно число добавленных/обновленных записей.

Пример работы этого метода вы может отыскать в index.js и в тестах.

Полезные ссылки

Позвони мне, позвони

About

Задача «Телефонная книга»

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%