// Временная сложность: O(n), где n - общее количество всех узлов (свойств и элементов) во вложенной структуре. Каждый узел посещается ровно один раз.// Пространственная сложность: O(n + d), где:// - n - количество примитивных значений (для массива результатов)// - d - глубина вложенности (для стека рекурсивных вызовов)// В худшем случае O(n), если структура сильно вложенная.function getRandomNestedObjVal(obj) { // Рекурсивная функция для сбора всех примитивных значений const getNestedObjectValues = (obj) => { const result = []; for (const prop in obj) { if (!obj.hasOwnProperty(prop)) continue; const value = obj[prop]; // Проверяем, является ли значение объектом или массивом if (value !== null && typeof value === 'object') { result.push(...getNestedObjectValues(value)); } else { result.push(value); } } return result; }; const getRandomArrayItem = (arr) => arr[Math.floor(Math.random() * arr.length)]; const allValues = getNestedObjectValues(obj); return getRandomArrayItem(allValues);}