Написать функцию, которая принимает на вход от одного до трёх параметров и возвращает
Добрый день, помогите с задачей, пожалуйста.
Написать функцию, которая принимает на вход от одного до трёх параметров и возвращает объект.(js) Первый параметр - число, обязательный параметр. Второй параметр - строка, не обязательный параметр. Третий параметр - массив строк, не обязательный параметр. Должно выглядеть примерно так: createError(code, message, detail) { /* тут тело функции */ } Пример поведения: createError(404); // вернёт объект { code: 404, message: '' } createError(400, 'Неправильный запрос'); // вернёт объект { code: 400, message: 'Неправильный запрос' } createError(400, ['page не указано', 'limit должен быть в диапазоне от 1 до 20']); // вернёт объект { code: 400, message: '', detail: ['page не указано', 'limit должен быть в диапазоне от 1 до 20'] } createError(400, 'Неправильный запрос', ['page не указано', 'limit должен быть в диапазоне от 1 до 20']); // вернёт объект { code: 400, message: 'Неправильный запрос', detail: ['page не указано', 'limit должен быть в диапазоне от 1 до 20'] } |
Arxi,
:-? function createError(code, message = '', detail) { if (Array.isArray(message)) { detail = message; message = '' }; return Array.isArray(detail) ? { code, message, detail } : { code, message } } console.log(createError(404)); // вернёт объект { code: 404, message: '' } console.log(createError(400, 'Неправильный запрос')); // вернёт объект { code: 400, message: 'Неправильный запрос' } console.log(createError(400, ['page не указано', 'limit должен быть в диапазоне от 1 до 20'])); // вернёт объект { code: 400, message: '', detail: ['page не указано', 'limit должен быть в диапазоне от 1 до 20'] } console.log(createError(400, 'Неправильный запрос', ['page не указано', 'limit должен быть в диапазоне от 1 до 20'])); // вернёт объект { code: 400, message: 'Неправильный запрос', detail: ['page не указано', 'limit должен быть в диапазоне от 1 до 20'] } |
Огромное спасибо!!!
|
Часовой пояс GMT +3, время: 16:39. |