Встречается на собеседованиях • сегодня
Как реализуешь Flatten Object JSКак реализуешь Flatten Object JS
javascript
function flattenObject(obj, parentKey = '', result = {}) {
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
const newKey = parentKey ? `${parentKey}.${key}` : key;
if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
flattenObject(obj[key], newKey, result);
} else {
result[newKey] = obj[key];
}
}
}
return result;
}
// Пример использования:
const nested = { a: 1, b: { c: 2, d: { e: 3 } } };
console.log(flattenObject(nested));
// { a: 1, 'b.c': 2, 'b.d.e': 3 }
text
Рекурсивно обходим объект, объединяя ключи через точку для вложенных свойств. Проверяем, что значение - объект (но не массив и не null), чтобы продолжить рекурсию. Для примитивов и массивов записываем значение в результат. Временная сложность O(n), где n - количество свойств.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы