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

290
Views
¿Cómo mapear solo los valores en un objeto, pero mantener las claves?

Escribí esto para convertir un objeto de tipo

 { 3: "#e3e3e3" }

dentro

 { 3: {r: 227, g: 227, b: 227} }

El código:

 const colorMapInRgb = Object.fromEntries( Object.entries(colorMapInHex).map( ([value, hex]) => [value, hexToRgb(hex)] ) )

¿Hay quizás una forma más idiomática de hacerlo? ¿Quizás una función de lodash?

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

0

Puede iterar a través de su objeto y convertir cada valor en un valor entero red , green y blue dentro de un array#map .

 const input = { 3: "#e3e3e3", 'red': "#FF0000" }, result = Object.fromEntries( Object.entries(input).map(([key, value]) => { const [r, g, b] = value.substr(1,6).match(/..?/g).map(x => parseInt(x, 16)); return [key, {r, g, b}]; }) ); console.log(result);

Otra solución usando array#reduce .

 const input = { 3: "#e3e3e3", 'red': "#FF0000" }, result = Object.entries(input).reduce((o, [key, value]) => { const [r, g, b] = value.substr(1,6).match(/..?/g).map(x => parseInt(x, 16)); o[key] = {r, g, b}; return o; }, {}); console.log(result);

about 4 years ago · Juan Pablo Isaza Report

0

Respuesta corta: No, no lo hay.

Respuesta larga: en realidad, todavía no hay una forma más idiomática de hacerlo, pero puede hacer lo mismo usando diferentes sintaxis/funciones con básicamente el mismo resultado:

 const colorMapInRgb = {}; for (const key in colorMapInHex) colorMapInRgb[key] = hexToRgb(colorMapInHex[key]); // basically same as above const colorMapInRgb = {}; Object.keys(colorMapInHex).forEach(key => ...); // Reducing the entries into an object const colorMapInRgb = Object.entries(colorMapInHex) .reduce((result, [k, v]) => ({ ...result, [k]: hexToRgb(v) }), {}); // Reducing the entries into an object but reusing the same object const colorMapInRgb = Object.entries(colorMapInHex) .reduce((result, [k, v]) => (result[k] = hexToRgb(v), result), {});

Una vez más, no hay realmente una mejor manera de hacerlo, es solo la sintaxis preferida.

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!