Digamos que tengo una matriz:
const arr = ['a', 'b, 'c'];Quiero crear un objeto como este:
{ 'a': true, 'b': true, 'c': true}¿Cómo puedo hacer esto?
const obj = {...arr: true}no funcionó
Sí, esa no es una tarea válida. La primera forma que se te ocurre, si quieres uno de esos ingeniosos ES6 de una sola línea, sería:
const obj = Object.fromEntries(arr.map((el) => [el, true]));Usando Array#reduce :
const arr = ['a', 'b', 'c']; const res = arr.reduce((acc, key) => ({ ...acc, [key]: true }), {}); console.log(res);Usando Object.assign y distribuya la matriz (con el mapa).
const arr = ['a', 'b', 'c']; const res = Object.assign({}, ...arr.map(key => ({[key]: true}))); console.log(res);