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

208
Views
Convierta claves en una matriz a minúsculas y elimine espacios entre claves si están disponibles (JS)

Necesito convertir las claves en minúsculas y eliminar los espacios entre ellas, si corresponde. Todas las claves son dinámicas y pueden ser cualquier número de claves. Las claves pueden contener caracteres alfanuméricos junto con caracteres especiales. Javascript o Typescript cualquier cosa me serviría. Estoy un poco atascado aquí.

JSON actual:

 [ { "Outdated Label (Key1)": "Outdated Label1", "Outdated Value": "Outdated Value" }, { "Outdated Label (Key1)": "Outdated Label2", "Outdated Value": "Outdated Value2" }, { "Outdated Label (Key1)": "Outdated Label3", "Outdated Value": "Outdated Value3" }, { "Outdated Label (Key1)": "Outdated Label4", "Outdated Value": "Outdated Value4" } ]

JSON esperado:

 [ { "outdatedlabel(key1)": "Outdated Label1", "outdatedvalue": "Outdated Value" }, { "outdatedlabel(key1)": "Outdated Label2", "outdatedvalue": "Outdated Value2" }, { "outdatedlabel(key1)": "Outdated Label3", "outdatedvalue": "Outdated Value3" }, { "outdatedlabel(key1)": "Outdated Label4", "outdatedvalue": "Outdated Value4" } ]
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Eché un vistazo al problema y encontré una solución que funciona y está escrita en JavaScript simple. Esta solución funciona para la matriz dada y cualquier otra matriz de objetos que no estén anidados. Como desea tener una nueva matriz, podemos usar .map y luego iterar sobre cada clave en el objeto actual y modificar la clave de tal manera que satisfaga sus requisitos.

 let o = [ { "Outdated Label (Key1)": "Outdated Label1", "Outdated Value": "Outdated Value" }, { "Outdated Label (Key1)": "Outdated Label2", "Outdated Value": "Outdated Value2" }, { "Outdated Label (Key1)": "Outdated Label3", "Outdated Value": "Outdated Value3" }, { "Outdated Label (Key1)": "Outdated Label4", "Outdated Value": "Outdated Value4" } ] let whitespace = new RegExp(/\s/g); let lo = o.map((entry) => { let modified = {}; Object.keys(entry).forEach((key) => { let value = entry[key]; key = key .toLowerCase() .replace(whitespace, ""); modified[key] = value; }); return modified; }); console.log(lo);
about 4 years ago · Juan Pablo Isaza Report

0

Aquí está mi solución, use la función de map .

 var arr = [ { "Outdated Label (Key1)": "Outdated Label1", "Outdated Value": "Outdated Value" }, { "Outdated Label (Key1)": "Outdated Label2", "Outdated Value": "Outdated Value2" }, { "Outdated Label (Key1)": "Outdated Label3", "Outdated Value": "Outdated Value3" }, { "Outdated Label (Key1)": "Outdated Label4", "Outdated Value": "Outdated Value4" } ]; const expectedJson = arr.map(function(item) { for(const key of Object.keys(item)) { const lowerCaseKey = key.toLowerCase().replace(/\s/g, ''); if (lowerCaseKey !== key) { item[lowerCaseKey] = item[key]; delete item[key]; } } return item; }) console.log(expectedJson)
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!