"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo aplano los objetos anidados en JavaScript con una línea de código?

¿Cómo aplano los objetos anidados en JavaScript con una línea de código?

Publicado el 2025-03-04
Navegar:164

How Do I Flatten Nested Objects in JavaScript with One Line of Code?

aplanando objetos anidados con un one-liner

en JavaScript, la tarea de aplanar objetos anidados surge con frecuencia. Esta operación implica transformar un objeto complejo con niveles anidados en un objeto de un solo nivel. Si bien existen varios enfoques para lograr esto, profundizaremos en una solución de una línea que aprovecha las características modernas de JavaScript.

el fragmento provisto aplastan de manera eficiente los objetos anidados utilizando el método Object.Assign (). Combina una matriz de objetos de una propiedad creada a través de una función recursiva (_flatten). Esta función atraviesa cada clave en el objeto de entrada y se llama a sí mismo si el valor es otro objeto o crea un objeto con un solo par de valores de propiedad de otra manera.

implementación:

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

aplanando este objeto arroja: { A: 2, C: 3 }

ventajes:
{
  a:2,
  b: {
    c:3
  }
}

concisseness:
{
  a:2,
  c:3
}

versatility: adaptable a los bibliotecos puros y los bibliotecas populares como los bibliotecos populares Subscore.

    flexibilidad:
  • usa una función recursiva (_flatten) para manejar estructuras anidadas dinámicamente.
  • consideraciones: [&] [&] es6 compatity:
  • cero-iteration: la función recursiva explora todas las rutas en el objeto anidado simultáneamente, lo que puede afectar el rendimiento de los objetos grandes.
Declaración de liberación Este artículo se reproduce en: 1729573278 si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3