Понимание проблемы
Часто мы сталкиваемся со сложными структурами данных в приложениях JavaScript. Эти структуры могут быть глубоко вложенными объектами, что затрудняет непосредственное манипулирование ими или их обработку. Одна из распространенных операций — сгладить эти объекты, преобразовав их в более простую структуру, в которой все свойства находятся на верхнем уровне.
В этом блоге мы углубимся в фрагмент кода JavaScript, который эффективно выравнивает глубоко вложенный объект. Мы разберем код построчно, объясняя его логику и функциональность.
Разбивка кода
let user = { name : 'Chiranjit', address : { personal : { city: 'Kolkata', state: 'West Bengal' }, office : { city: 'Bengaluru', state: 'Karnataka', area: { landmark:'Waterside', post: 433101 } } } } var finalObj = {} const flatObjFn = (obj, parent) => { for(let key in obj){ if(typeof obj[key] === 'object'){ flatObjFn(obj[key], parent '_' key) }else{ finalObj[parent '_' key] = obj[key] } } } flatObjFn(user, 'user'); console.log(finalObj);
Построчное объяснение
Инициализация объекта вывода:
Определение функции сглаживания:
Итерация по свойствам объекта:
Обработка вложенных объектов:
Обработка примитивных значений:
Вызов функции выравнивания:
Регистрация сведенного объекта:
Как это работает?
Функция FlatObjFn рекурсивно обходит объект, разбивая вложенные структуры на плоский объект. Родительский параметр отслеживает иерархию объектов, позволяя функции создавать осмысленные имена свойств в выходном объекте.
Давайте пообщаемся в Twitter или LinkedIn
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3