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

150
Views
Javascript cómo obtener la longitud de un objeto dentro de un objeto

Tengo un objeto dentro de un objeto que quiero obtener su longitud. Probé con Object.keys(obj).length pero muestra la longitud del objeto principal. También quiero obtener la longitud del objeto secundario.

Aquí está el código que probé.

 let data = { 'data': { '0x': { 0: { 0: 'test1', 330: 'test2' } } } }; let hideCtrls = false; if(Object.keys(data.data).length == 1){ let objIn = Object.values(data.data); if(Object.values(objIn)[0] == 1) { hideCtrls = true; } else { hideCtrls = false; } }; console.log(hideCtrls);

Quiero verificar la longitud de data dentro de los datos, si su longitud es 1, quiero verificar la longitud de los valores dentro del primer objeto (en este caso, es 0x ). Si la longitud del objeto secundario también es 1, quiero establecer hideCtrls en verdadero.

Quiero obtener la longitud de este último objeto 0: { 0: 'test1', 330: 'test2' } . Aquí tenemos dos pares de valores clave adentro, por lo que debería devolver falso, si solo tiene un par de valores clave, debería devolver verdadero.

NOTA: Las teclas son dinámicas

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Object.values devuelve una matriz. Si desea el objeto secundario, debe indexarlo inmediatamente. En general, puede utilizar estas dos funciones auxiliares. Solo tiene que anidar las veces suficientes para llegar al objeto que le interesa:

 let hasOneChild = (x) => Object.keys(x).length === 1; let getOnlyChild = (x) => Object.values(x)[0]; let hideCtrls = false; if(hasOneChild(data.data)){ let x = getOnlyChild(data.data) if(hasOneChild(x)) { let y = getOnlyChild(x); ... } else { ... } };
about 4 years ago · Santiago Trujillo Report

0

 let data = { data: { '0x': { 0: { 0: 'test1', 330: 'test2' } } } } function hideCtrls(){ if(Object.keys(data['data'][Object.keys(data.data)[0]]['0']).length === 1) return true else return false } console.log(hideCtrls())

about 4 years ago · Santiago Trujillo Report

0

La desestructuración al menos le permite evitar la pesadilla de una cadena de acceso computarizada y encadenada. Aquí con una función auxiliar para objectLength .

 const objectLength = (obj) => Object.keys(obj).length; const data = { data: { '0x': { 0: { 0: 'test1', 330: 'test2' } } } } const parent = data.data; const [{ 0: child }] = Object.values(parent); const hideCtrls = (objectLength(parent) === 1 && objectLength(child) === 1); console.log(hideCtrls)

about 4 years ago · Santiago Trujillo 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!