Maison > interface Web > js tutoriel > le corps du texte

Comment aplatir des objets imbriqués avec une seule ligne de code JS ?

Susan Sarandon
Libérer: 2024-10-22 13:17:03
original
122 Les gens l'ont consulté

How to Flatten Nested Objects with a Single Line of JS Code?

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))
Copier après la connexion

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
  }
}
Copier après la connexion

L'exécution du code fourni sur cet objet produira le résultat aplati :

{
  a: 2,
  c: 3
}
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!