Вопрос проверяет умение находить минимальный и максимальный элементы в массиве объектов без использования встроенных методов Math.min и Math.max, что важно для понимания базовых алгоритмов и работы с данными.
Задача нахождения минимального и максимального элементов в массиве объектов без использования встроенных методов Math.min и Math.max проверяет понимание базовых алгоритмов перебора и сравнения. Вместо готовых функций мы реализуем ручной обход массива, что даёт полный контроль над процессом и позволяет адаптировать алгоритм под любые структуры данных.
Алгоритм прост: мы инициализируем переменные min и max первым элементом массива (или его нужным полем). Затем проходим по всем остальным элементам, сравнивая их с текущими min и max. Если находим элемент меньше min, обновляем min; если больше max — обновляем max. В результате после полного обхода получаем искомые значения.
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 20 }
];
let minAge = users[0].age;
let maxAge = users[0].age;
for (let i = 1; i < users.length; i++) {
if (users[i].age < minAge) {
minAge = users[i].age;
}
if (users[i].age > maxAge) {
maxAge = users[i].age;
}
}
console.log('Min age:', minAge); // 20
console.log('Max age:', maxAge); // 30Этот подход используется в ситуациях, когда нужно обработать данные без использования встроенных функций, например, в средах с ограниченными возможностями (старые браузеры, микроконтроллеры) или при необходимости кастомной логики сравнения (например, по нескольким полям).
Ручной перебор массива для поиска min/max — это фундаментальный алгоритм, который стоит применять, когда требуется гибкость в сравнении или когда встроенные методы недоступны. Он прост, эффективен и легко адаптируется под любые типы данных.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию