Comprendre le problème
Nous rencontrons souvent des structures de données complexes dans les applications JavaScript. Ces structures peuvent être des objets profondément imbriqués, ce qui rend difficile leur manipulation ou leur traitement direct. Une opération courante consiste à aplatir ces objets, en les transformant en une structure plus simple où toutes les propriétés sont au niveau supérieur.
Dans ce blog, nous examinerons un extrait de code JavaScript qui aplatit efficacement un objet profondément imbriqué. Nous décomposerons le code ligne par ligne, expliquant sa logique et ses fonctionnalités.
La panne du code
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);
Explication ligne par ligne
Initialisation de l'objet de sortie :
Définition de la fonction d'aplatissement :
Itération à travers les propriétés de l'objet :
Gestion des objets imbriqués :
Gestion des valeurs primitives :
Appel de la fonction d'aplatissement :
Enregistrement de l'objet aplati :
Comment ça marche ?
La fonction flatObjFn parcourt l'objet de manière récursive, décomposant les structures imbriquées en un objet plat. Le paramètre parent garde une trace de la hiérarchie des objets, permettant à la fonction de créer des noms de propriétés significatifs dans l'objet de sortie.
Connectons-nous sur Twitter ou LinkedIn
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!