🆘 Как создать Pull Request
Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками.
Прежде чем отправлять решение, проверьте его на соответствие общим требованиям.
Когда вы создадите или обновите пулл-реквест, он автоматически будет проверен на соответствие кодстайлу и базовую работоспособность. Результаты вы увидите внизу:
Если всё хорошо:
2015年10月08日_1845
Если всё плохо:
2015年10月08日_1841
Проверить можно и вручную:
// Устанавливаем проверяльщик 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.
Будет непоправимо круто, если вы его осилите!