Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

urfu-2018/javascript-task-2

Repository files navigation

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

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

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

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

Аркадий – серьезный человек и в его телефонной книге очень много записей. А после недавнего престижного соревнования по JavaScript, записей станет еще больше. Пользоваться рукописной книгой уже не модно, поэтому Аркадий решил обратиться к вам, как к специалисту по телефонным книгам и JavaScript.

Предлагаем вам помочь Аркадию мигрировать на новые технологии и реализовать для скрипта телефонной книги 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 и в тестах.

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

meme

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /