• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

272
Views
Cómo convertir un elemento de matriz en un objeto con un valor condicionalmente verdadero y de una cadena en javaScript

¿Cuál es una forma más compacta de convertir color=["red", "green", "blue", "Other"] en colorObjFinal = { blue: true, green: true, Other: "Other", red: true } ?

Esta es mi función larga, me gustaría acortarla:

 let color = ["red", "green", "blue", "Other"]; let colorObj; let colorObjFinal = {}; console.log("color:", color); colorObj = color.reduce((a, v) => ({ ...a, [v]: v }), {}); console.log("colorObj:", colorObj) for (var key in colorObj) { if (colorObj.hasOwnProperty(key)) { if(key == 'Other'){ colorObjFinal[key] = colorObj[key]; } else { colorObjFinal[key] = true; } } } console.log("colorObjFinal:", colorObjFinal)

about 3 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Podrías hacerlo todo de una sola vez:

 let color = ["red", "green", "blue", "Other"]; let result = color.reduce ((a,v) => ({ ...a, [v] : v == "Other" ? v : true }),{}); console.log(result);

about 3 years ago · Juan Pablo Isaza Report

0

Puede cambiar su primer Array.reduce para obtener el resultado.

 let color = ["red", "green", "blue", "Other"]; const result = color.reduce((acc, item) => { acc[item] = (item != "Other") ? true : item; return acc; }, {}); console.log(result);

about 3 years ago · Juan Pablo Isaza Report

0

que ? (posiblemente es la escritura más compacta aquí)

 let color = ["red", "green", "blue", "Other"]; const res = color.reduce((a,c)=>(a[c]=c=='Other'?c:true,a),{}); console.log(res);

about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error