Tengo una variedad de objetos.
const data = [ { id: 1, name: "A", condition: true }, { id: 4, name: "B", condition: false }, { id: 7, name: "C", condition: true }, { id: 11, name: "D", condition: true }, { id: 12, name: "E", condition: false } ]Salida de muestra
const data = { 0 : { id: 1, name: "A", condition: true }, 1 : { id: 4, name: "B", condition: false }, 2 : { id: 7, name: "C", condition: true }, 3 : { id: 11, name: "D", condition: true }, 4 : { id: 12, name: "E", condition: false } }Intenté de esta manera pero no obtuve las claves correctas, no estoy seguro de cómo obtengo las claves correctas en orden ascendente.
const arrayToObject = { return data.reduce((obj, item) => { obj[item['id]] = item return obj }, {}) }Usar Object.assign
const data = [ { id: 1, name: "A", condition: true }, { id: 4, name: "B", condition: false }, { id: 7, name: "C", condition: true }, { id: 11, name: "D", condition: true }, { id: 12, name: "E", condition: false } ] const res = Object.assign({}, data); console.log(res)La función reduce acepta el índice como tercer argumento, así:
const data = [ { id: 1, name: "A", condition: true }, { id: 4, name: "B", condition: false }, { id: 7, name: "C", condition: true }, { id: 11, name: "D", condition: true }, { id: 12, name: "E", condition: false } ] const arrayToObject = (data) => { return data.reduce((obj, item, i) => { obj[i] = item return obj }, {}) } console.log(arrayToObject(data));