Maison  >  Article  >  interface Web  >  Comment aplatir des objets imbriqués avec une solution sur une seule ligne ?

Comment aplatir des objets imbriqués avec une solution sur une seule ligne ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-22 16:22:02588parcourir

How to Flatten Nested Objects with a One-Line Solution?

Solution en une seule ligne pour aplatir les objets imbriqués

Dans le domaine de la manipulation de données, l'aplatissement des objets imbriqués est une tâche courante. Vous devrez peut-être transformer un objet complexe avec plusieurs niveaux d'imbrication en un objet plus simple avec un seul niveau de clés et de valeurs. Une approche efficace consiste à utiliser une ligne concise :

Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))

Décomposons cette ligne :

  • Le principe est de parcourir récursivement l'objet et de construire un tableau d'objets imbriqués à une propriété.
  • La méthode Object.assign est ensuite utilisée pour combiner ces objets en un seul objet aplati.
  • La fonction _flatten est une assistante récursive qui descend dans les objets imbriqués, créer des objets à propriété unique basés sur des paires clé-valeur.
  • Ce processus se poursuit jusqu'à ce que tous les objets imbriqués aient été aplatis.

Pour utiliser cette ligne unique, transmettez simplement votre objet imbriqué dans l'espace réservé yourObject. L'objet aplati résultant sera accessible en tant que sortie de l'expression.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn