0.2.0 • Published 6 years ago
array-converter v0.2.0
Array converter
Данное задание является тестовым для кандидатов на позицию: Middle Node.JS Developer.
Задание предназначено для определения навыков и компетенций кандидата в следующих областях:
- Знание Javascript;
- Понимание принципов асинхронной разработки на Node.JS;
- Навыки работы с git;
- Навыки написания автоматических тестов.
Задание
Написать модуль для Node.JS, который преобразует массив чисел в строку по примеру:
- 1,2,3,4,5,6,7,8 -> "1-8"
- 1,3,4,5,6,7,8 -> "1,3-8"
- 1,3,4,5,6,7,8,10,11,12 -> "1,3-8,10-12"
- 1,2,3 -> "1-3"
- 1,2 -> "1,2"
- 1,2,4 -> "1,2,4"
- 1,2,4,5,6 -> "1,2,4-6"
- 1,2,3,7,8,9,15,17,19,20,21 -> "1-3,7-9,15,17,19-21"
- 1,2,3,4,5,6,100,1091,1999,2000,2001,2002 -> "1-6,100,1091,1999-2002"
- 1 -> "1"
- 1,3,5,7,9,11 -> "1,3,5,7,9,11"
Числа в массиве всегда целые, положительные и отсортированы по возрастанию.
Требования
- Исходный код должен быть размещен на github или bitbucket;
- Код должен выполняться асинхронно;
- Желательно наличие автоматических тестов, например, на базе фреймворка Mocha;
- Приложение должно быть оформлено в виде модуля. Возможность установки модуля с помощью npm будет преимуществом.
Installation
npm i array-converter
Usage
const arrayConverter = require("array-converter");
arrayConvertert.convert([1, 2, 3]).then((res) => {
console.log(res); // '1-3'
});
Tests
npm test