Ответ
Сложная операция — это вычисление или действие, которое требует значительных ресурсов процессора или памяти. В JavaScript это может быть:
- Рекурсивные функции без базового случая
- Обработка больших массивов (например,
O(n²)
алгоритмы) - Синхронные операции, блокирующие Event Loop (например,
JSON.parse()
на огромном объекте)
Пример:
// Медленная операция – O(n²)
function findDuplicates(arr) {
const duplicates = [];
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) duplicates.push(arr[i]);
}
}
return duplicates;
}
Для оптимизации таких операций используют:
- Разделение на чанки (Web Workers,
requestIdleCallback
) - Мемоизацию
- Алгоритмы с лучшей сложностью