Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

107
Views
Comprobar si mi objeto contiene uno o más objetos

Dado un objeto como este:

 const spacing = { xxs: "0.25rem", xs: "0.5rem", sm: "0.75rem", md: "1rem", lg: "1.5rem", "2xl": "2rem", "3xl": "3rem", oggetto: { "1": 1, "2": 2, }, }

Estoy tratando de escribir una función que recorra mi objeto y verifique si la propiedad de este objeto es otro objeto anidado, como oggetto . En ese caso, me gustaría llamar recursivamente a la función. Mi objetivo principal es recuperar todas las claves del objeto principal y cualquier objeto anidado. Compartiría algo de código, pero realmente no tengo idea de cómo abordar esto. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

function getObjectKeys(o, keys = []) { Object.entries(o).forEach(([key, value]) => { if (typeof value === "object") { getObjectKeys(value, keys); } else { keys.push(key); } }); return keys; } getObjectKeys(spacing); // [ "xxs", "xs", "sm", "md", "lg", "2xl", "3xl", "1", "2" ]
about 4 years ago · Juan Pablo Isaza Report

0

primero debe considerar las matrices cuando use typeof ya que typeof de una array y un object devuelven 'objeto'.

luego puede tener una función recursiva para recorrer las claves y devolverlas si contienen un objeto.

por ejemplo, algo como esto devolverá una matriz de matrices que contienen la clave del objeto en el primer índice y la ruta completa para acceder al objeto en el segundo índice:

 const obj = { n: 1, s: 'test', b: false, a: [], obj1: { n: 2 }, obj2: { innerObj: { b: true, otherInnerObj: { s: 'hi' }, }, a: [] }, obj3: {} }; function findObjects(obj, parent, pathArr = []) { for (k in obj) { const v = obj[k]; if (typeof v === 'object' && !Array.isArray(v)) { const parentName = `${parent}/${k}`; pathArr.push([k, parentName]); findObjects(v, parentName, pathArr); } } return pathArr; } const result = findObjects(obj, 'obj'); const onlyKeys = result.map(x => x[0]); const onlyPaths = result.map(x => x[1]); console.log(onlyKeys); console.log(onlyPaths); console.log(result);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!