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

106
Visualizações
cómo convertir elementos en un objeto a una lista de matriz
{ Type: "Fire", Name: "Shark", StartRange0: "10", EndRange0: "20", StartRange1: "30", EndRange1: "40", StartRange2: "60", EndRange2: "70" }

En el objeto anterior, StartRange y EndRange pueden ser más elementos en diferentes objetos. es decir, esos valores se obtienen de un bucle (StartRange + índice), por lo que puede haber StartRange1,2,3... lly, EndRange1,2,3...

La estructura del objeto anterior debe cambiarse a,

 { "Fire":{ "Name":"Shark", "List":[ [ "10", "20" ], [ "30", "40" ], [ "60", "70" ] ] } }

La matriz List dentro del objeto es una combinación de [StartRange0,EndRange0],[StartRange1,EndRange2]... Y así sucesivamente...

Lo intenté,

 let newObj = {} newObj[oldObj.Type] = { Name: oldObj.Name, //oldObj is the first object defined above. List: [[oldObj.StartRange0,oldObj.EndRange0],[oldObj.tartRange1,oldObj.EndRange1],[oldObj.StartRange2,oldObj.EndRange2]] }

Pero aquí, está limitado a StartRange2 y EndRange2 pero lo necesito para StartRangeN y EndRangeN.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Así es como lo habría hecho mapear

 const input = { Type: "Fire", Name: "Shark", StartRange0: "10", EndRange0: "20", StartRange1: "30", EndRange1: "40", StartRange2: "60", EndRange2: "70" } const toList = (l) => Array.from({ length: Object.keys(l).length / 2 }, (_, N) => [l[`StartRange${N}`], l[`EndRange${N}`]]) const toOutput = ({ Type, Name, ...rest }) => { const List = toList(rest) return ({ [Type]: { Name, List } }) } const output = toOutput(input) console.log(output)

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes jugar con este ejemplo.

 const object = { Type: "Fire", Name: "Shark", StartRange0: "10", EndRange0: "20", StartRange1: "30", EndRange1: "40", StartRange2: "60", EndRange2: "70" }; let index = 0; let isFinished = false; const results = []; while (!isFinished) { const startKey = `StartRange${index}`; const endKey = `EndRange${index}`; isFinished = !object.hasOwnProperty(startKey) || !object.hasOwnProperty(endKey); !isFinished && results.push([object[startKey], object[endKey]]); index++; } console.log(results);
about 4 years ago · Juan Pablo Isaza Relatório

0

Esto puede funcionar, pero sería mejor si pudieras cambiar esa estructura y usar otra.

 const test = { Type: "Fire", Name: "Shark", StartRange0: "10", EndRange0: "20", StartRange1: "30", EndRange1: "40", StartRange2: "60", EndRange2: "70", }; const format = (obj) => { const { Type, Name, ...rest } = obj; const list = []; const keys = Object.keys(rest); for (let index = 0; index < keys.length; index++) { const start = rest[`StartRange${index}`]; const end = rest[`EndRange${index}`]; if (start && end) { list.push([start, end]); } else { break; // assuming you don't have any other elements } } return { [Type]: { Name, List: list, }, }; }; console.log(JSON.stringify(format(test)));
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