Back to tasksGet help with live coding in real time with Sobes Copilot
Junior — Senior
25
Обнаружить и исправить недочёты в функции распределения категорий
Task condition
В данном фрагменте JavaScript‑кода реализована функция, предназначенная для объединения списка категорий с новой категорией и обновления структуры дерева категорий. Однако в реализации присутствуют логические ошибки, которые приводят к некорректному изменению исходных данных.
export const distributionCategories = (catList, rootArr, newCat) => {
Object.assign(catList, newCat);
const rootSet = new Set(rootArr);
Object.keys(newCat).map(Number).forEach((categoryId) => {
const curCat = catList[categoryId];
if (curCat.level == 0) {
rootSet.add(categoryId);
} else {
const childSet = new Set(catList[curCat.parent].children);
childSet.add(categoryId);
catList[curCat.parent].children = Array.from(childSet);
}
});
return [catList, rootSet];
};
Ваша задача — проанализировать код, выявить причины неправильного поведения и предложить исправления, сохранив исходную сигнатуру функции и её общую логику.