Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
10
Подсчёт количества субъектов в каждом регионе
Компании, где спрашивали:
ED-IT
Условие задачи
Необходимо написать функцию, принимающую массив объектов и возвращающую объект‑отчёт, где ключами являются номера регионов, а значениями — количество субъектов в каждом из них. Дополнительные переменные‑массивы объявлять нельзя; функция должна сразу вернуть объект, сформированный из входных данных. Реализуйте всю логику внутри функции getResult.
const Task2 = () => {
interface ISubjectRegion { name: string, region: number }
interface IResult { [key: ISubjectRegion['region']]: number }
const sourceData: ISubjectRegion[] = [
{ name: "Субъект 1", region: 1 },
{ name: "Субъект 2", region: 2 },
{ name: "Субъект 3", region: 2 },
{ name: "Субъект 4", region: 2 },
{ name: "Субъект 5", region: 4 }
]
const expectedResult: IResult = {
1: 1, //1 субъект в регионе 1
2: 3 //3 субъекта в регионе 2
}
//!!! Логику реализовать внутри этой функции !!!
const getResult = (data: ISubjectRegion[]): IResult => {
//TODO
}
// Это выведет результат её работы справа
return { expectedResult, result: getResult(sourceData) }
}
// Вспомогательные функции
const showTaskResult = (task: number, taskResult: { result: any, expectedResult: any }) => {
console.log(`---Результат задачи ${task}---`)
console.log('Ожидаемый: ', taskResult.expectedResult)
console.log('Из функции: ', taskResult.result)
console.log('')
}
// Это выведет результат её работы справа
showTaskResult(2, Task2())