Aplatir les objets imbriqués avec une seule ligne
Aplatir les objets imbriqués est une tâche courante en programmation, et c'est encore plus simple avec le JavaScript moderne . Voici une solution sur une ligne qui utilise l'opérateur spread et Object.assign :
Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))
Comment ça marche :
Ce code utilise une fonction récursive, _flatten, qui traverse l'objet imbriqué et crée un tableau d'objets à une propriété. Chaque nom de propriété est mappé à sa valeur correspondante, et si la valeur est un autre objet, la fonction revient dans cet objet.
L'opérateur de propagation (...) est utilisé pour aplatir le tableau d'objets créé par _flatten . Le tableau résultant est ensuite transmis à Object.assign, qui combine tous les objets en un seul objet aplati.
Exemple d'entrée et de sortie :
Considérez les éléments imbriqués suivants object :
{ a: 2, b: { c: 3 } }
L'exécution du code fourni sur cet objet produira le résultat aplati :
{ a: 2, c: 3 }
Remarque :
Cette solution utilise Fonctionnalités ES6, vous devrez donc peut-être l'ajuster si vous utilisez un environnement JavaScript plus ancien.
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!