Обычно я бы попросил вас добавить вашу попытку, но мне очень нравится выполнять рекурсивные функции, так как это не часто встречается в моей повседневной работе.Я не добавил в атрибуты Typescript, потому что я чувствую, что добавить тип параметра и тип возвращаемого значения должно быть относительно просто, как только вы сделаете тип для Employee
.
function findHighest(employee) {
const managerId = employee.managerId;
if(managerId) {
const managerObject = sampleObject.find(sample => sample.employeeId === managerId);
return findHighest(managerObject);
}
return employee;
}
Эта функция будетобъект сотрудника, найдите его managerId, если у него есть managerId, он находит соответствующий объект сотрудника для этого менеджера и передает его обратно в себя.В противном случае, если не найдено managerId, он вернет объект employee (который будет объектом менеджера верхнего уровня, а не id, потому что managerId всегда будет нулевым).
Поначалу рекурсия может немного запутать, но я повторяю, что было бы лучше увидеть вашу попытку, прежде чем спрашивать здесь.(вы бы узнали больше!)