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

189
Views
Obtener el nombre y los valores de la matriz en Javascript Object

Mi salida JSON es similar a este objeto a continuación y tenemos una matriz de valores como se muestra a continuación

 const object1 = { "sublists": { "item": [{ "line": "1", "amount": "1200.00", "id": "227", "item": "227", "item_display": "5800520002800", "quantity": "1" } ], "shipping": [{ "line": "1", "amount": "1200.00", "id": "227", "quantity": "1" } ] } }

Estoy tratando de obtener el nombre de matrices y valores en variables separadas como se muestra a continuación

Nombre de la matriz: elemento, línea:, 1 Nombre de la matriz: elemento, cantidad: 1200 Nombre de la matriz: elemento, id: 227 y así sucesivamente ... las propiedades de la matriz pueden variar según la salida json, estoy buscando un script dinámico en el que Podría acceder al nombre y las propiedades de la matriz.

Alguien me puede ayudar en esto ?

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

0

La manera fácil de lograr el resultado deseado es pasar la 'clave principal' a la llamada recursiva:

 const object1 = {sublists: {sales_order: [], data: [{"key1": "a", "value": 2 }, {"key1": "b", "value": 4 }], memo: [{"key1": "a", "value": 5 }] } }; function printValues(obj, parentName = null) { if (Object.prototype.toString.call(obj) === '[object Array]') { obj.forEach(o => console.log(`Array name: ${parentName}. Key1: ${o.key1}. Value: ${o.value}`)); } else { for (let k in obj) { printValues(obj[k], k); } } }; printValues(object1) ;


  • La primera instrucción if es para verificar si la variable es una matriz u objeto. Lógica tomada de:
    ¿Cómo verifica si una variable es una matriz en JavaScript?

 Array name: data. Key1: a. Value: 2 Array name: data. Key1: b. Value: 4 Array name: memo. Key1: a. Value: 5
about 4 years ago · Juan Pablo Isaza Report

0

prueba esto

 function iterateObject(obj, parent) { if (typeof obj == "object") if (!Array.isArray(obj)) Object.keys(obj).forEach((prop) => { if (typeof obj[prop] == "object") iterateObject(obj[prop], prop); else console.log(`Parent name : ${parent}, ${prop} : ${obj[prop]}`); }); else obj.forEach((elem) => { iterateObject(elem, parent); }); else console.log(`Parent name : ${parent}, ${parent} : ${obj}`); } iterateObject(object1,"sublists");

ACTUALIZAR

este es el código para tu json en el comentario

 iterateObject(object01,"item");
about 4 years ago · Juan Pablo Isaza Report

0

Creo que esto resolverá tu problema. Seguí la naturaleza recursiva del código que proporcionó y lo adapté para asegurarme de que estaba dando el resultado que deseaba. Si tiene alguna pregunta, hágamelo saber e intentaré resolverla.

 function printValues(obj) { for (const [objKey, objValue] of Object.entries( obj )) { if ( typeof objValue === 'object' && !objValue.length ) { printValues(objValue); } else if ( objValue !== undefined && objValue.length > 0 ) { for (let i = 0; i < objValue.length; i++) { const currentObject = objValue[i]; let str = ''; for (const [key, value] of Object.entries( currentObject )) { str += `Array name: ${objKey} , key1: ${key} , value: ${value}\n`; } console.log(str); } } } }
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!