"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 encontrar objetos anidados por clave en JavaScript?

¿Cómo encontrar objetos anidados por clave en JavaScript?

Publicado el 2025-02-06
Navegar:666

How to Find Nested Objects by Key in JavaScript?

Encontrar objetos anidados por clave

navegando matrices y objetos profundamente anidados para encontrar un valor específico puede ser una tarea desafiante. Considere el escenario en el que tiene una estructura de datos compleja como la proporcionada. Para ubicar un objeto con una propiedad específica de 'id' anidada varios niveles en lo profundo, puede utilizar la recursión.

Solución recursiva

la función proporcionada, 'getObject', toma un objeto como entrada e itera sobre sus propiedades. Si una propiedad es una matriz, la función busca recursivamente en cada elemento. De lo contrario, la función verifica si la propiedad es la 'id' deseada y devuelve el objeto si se encuentra una coincidencia.

function getObject(theObject) {
    var result = null;
    if (theObject instanceof Array) {
        for (var i = 0; i  

Esta solución atraviesa recursivamente la estructura de datos anidada, buscando el objeto con la propiedad 'id' especificada. Maneja tanto las matrices como los objetos de propiedad, asegurando una búsqueda exhaustiva.

Ejemplo actualizado

en el jsfiddle actualizado (http://jsfiddle.net/fm3qu/7/ ), la función proporcionada se puede usar para ubicar el objeto con 'ID' establecido en 1 en la estructura de datos compleja.

Ú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