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

114
Views
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 answers
Answer question

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 Report

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 Report

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 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!