🆘 Как создать Pull Request
Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками.
Прежде чем отправлять решение, проверьте его на соответствие общим требованиям.
Когда вы создадите или обновите пулл-реквест, он автоматически будет проверен на соответствие кодстайлу и базовую работоспособность. Результаты вы увидите внизу:
Проверить можно и вручную:
// Устанавливаем проверяльщик
npm install
// Проверяем
npm test
// В результате выведутся ошибки, если они есть
// Если какие-либо ошибки будут непонятны – смело спрашиваем у ментора
Как-то я (Сергей) посмотрел фильм «Мальчишник в Вегасе» и подумал, что неплохо было бы устроить отвязный мальчишник. Как я узнал позже, для этого, конечно, необходимо жениться :(. Поэтому мне надо устроить и мальчишник, и свадьбу.
У меня есть книга друзей, где описаны друзья и их связи с другими друзьями — faceBook.js. Чтобы было удобно искать друзей, я решил написать итератор iterator.js.
Он умеет обходит друзей, начиная с того, кого указываешь при создании итератора:
// phoneBook – книга
// Cергей — ищем с себя
// 3 – максимальное количество рукопожатий до человека (при превышении обход завершается)
var friends = iterator.get(phoneBook, 'Cергей', 3);
// Берём следующего друга
// .next() Возращается JSON с именем и телефоном
friends.next(); // { name: 'Васян', phone: '+70000000000' }
// .prev() Возвращаемся к предыдущему
friends.prev();
Принципы обхода:
-
Обход мы начинаем с ближайших друзей, затем берём ближайших друзей ближайших друзей (следующий круг рукопожатий) и так далее.
-
Если друзей у человека несколько, обходим их в алфавитном порядке
-
Если нет следующего друга,
.next()
должен возвращатьnull
-
Если нет предыдущего друга,
.prev()
должен возвращатьnull
-
Если стартовой точки обхода не существует в книге,
.next()
и.prev()
должны возвращатьnull
Подробности вас ждут в файле index.js.
Дополнительное задание описано в файле index.js.
Будет непоправимо круто, если вы его осилите!