Тестовое задание JavaScript Junior

Тестовые данные о животных в файле data.json

Можно использовать index.js как заготовку

Результат выполнения задания необходимо залить в репозиторий на github и предоставить ссылку на него на электронный адрес dev@a-bt.ru

Задача 1

1.1 Необходимо посчитать количество кошек, количество собак и средний целочисленный возраст животных.

Функция должна возвращать объект вида:

{"dogs": integer, "cats": integer, "avgage": integer}

1.2 Необходимо посчитать, сколько черных породистых собак находится среди предоставленных данных.

На породу указывает поле breed в исходных данных.

Функция должна возвращать число.

1.3 Необходимо отфильтровать предоставленные данные, оставить только черных кошек и белых собак.

Функция должна возвращать массив объектов.

1.4 Необходимо отсортировать исходный массив данных по критериям:

  • Все кошки по возрасту (по убыванию)
  • Все собаки по возрасту (по возрастанию)

Функция должна возвращать массив объектов.

Задача 2

2.1. Напишите свою реализацию функции возведения в степень.

2.2. Напишите свою реализацию функции flat для массива неограниченной вложенности.

Задача 3 (react)

Напишите простой компонент Select с автодополнением (список для автодополнения можно взять из data.json).

Пример: https://mui.com/components/autocomplete/

  1. Компонет должен быть написан на хуках
  2. Должен принимать данные для фильтра и функцию callback
  3. Дополнительные фичи приветствуются (например возможность мультивыбора)