Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda