Тестовое задание для Frontend разработчика

Слайд 2

https://it-only.ru, info@onlystudio.org

Условие. Написать функцию groupBy, которая на вход принимает 2 параметра:
однородный массив элементов
функцию-коллбек,

https://it-only.ru, info@onlystudio.org Условие. Написать функцию groupBy, которая на вход принимает 2 параметра:
которая каждому элементу может сопоставить ключ группы
Результатом работы функции должен быть объект, содержащий массивы элементов, доступные по ключу группы.
Функция должна быть как можно более обобщённой, не иметь в реализации any, unknown или object.

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

Слайд 3

https://it-only.ru, info@onlystudio.org

// simple
groupBy([1.2, 1.1, 2.3, 0.4], Math.floor);
let result = {
"0": [0.4],

https://it-only.ru, info@onlystudio.org // simple groupBy([1.2, 1.1, 2.3, 0.4], Math.floor); let result =
"1": [1.2, 1.1],
"2": [2.3],
};
// complecated
groupBy(["one", "two", "three"], (el) => el.length);
let result = {
"3": ["one", "two"],
"5": ["three"],
};
// types
enum Gender {
Male,
Female,
}
groupBy(
[
{ g: Gender.Male, n: "A" },
{ g: Gender.Female, n: "B" },
{ g: Gender.Female, n: "C" },
],
(el) => el.g
);
let result = {
[Gender.Male]: [{ g: Gender.Male, n: "A" }],
[Gender.Female]: [
{ g: Gender.Female, n: "B" },
{ g: Gender.Female, n: "C" },
],
};

Слайд 4

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

https://it-only.ru, info@onlystudio.org

После решения тестового задания, проверьте на наличие ошибок, если ошибки

Тестовое задание https://it-only.ru, info@onlystudio.org После решения тестового задания, проверьте на наличие ошибок,
не выявлены - отправьте в виде текста HR-у в лс решенное задание.

Слайд 5

Наши клиенты

https://it-only.ru, info@onlystudio.org

Наши клиенты https://it-only.ru, info@onlystudio.org