Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

163
Vistas
Getting objects from json data tree, issue with reusing function

I wrote a code (with help from another question) in order to get objects from a json tree.

let objFound = null;
 
function getObjFromValue(obj, prop, val) {
    Object.keys(obj).forEach((key) => {
        if (objFound == null) {
            if (key === prop && val === obj[key]) {
                objFound = obj;
            }
 
            if (typeof obj[key] === 'object') {
                getObjFromValue(obj[key], prop, val);
            }
        }
    });
 
    return objFound;
}

The problem with it is, that I can use it only once since the variable objFound is global (I need it to stop the forEach loop somehow) and never gets nulled again, so when I make another search I receive the previous and first object that the function found. Is there a way to improve/fix my function?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You can use a local variable to return the value, after setting the global variable to null.

let toReturn = objFound;
objFound = null;
return toReturn;

However, this global variable approach might not be the best one. The comment of @pilchard has a good alternative, making the variable local.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda