Necesito construir el cuerpo de la API para usar en javascript fetch . La longitud de la matriz es de veinte o más y necesito un bucle.
Tengo una serie de objetos:
[ { name:"x",lname:"y" }, { name:"x2",lname:"y2" }, ]y esto es lo que quiero lograr:
{ "0":{ "name":"x", "lname":"y" }, "1":{ "name":"x2", "lname":"y2" }, }Esto es crudo en cuerpo de cartero:
Cualquier guía y ayuda sería apreciada.
La conversión de una matriz en un objeto se realiza fácilmente con Array.reduce y utilizando el argumento de index como clave de las propiedades:
const data = [ {name:"x",lname:"y"}, {name:"x2",lname:"y2"}, ] console.log( data.reduce((acc, item, i) => ({...acc, [i]:item}) ,{}) ) O más corto, como lo sugiere @CherryDT (en los comentarios a continuación), que convierte automáticamente la matriz en un objeto que consta de claves derivadas de los índices de los elementos de la matriz:
const data = [ {name:"x",lname:"y"}, {name:"x2",lname:"y2"}, ] console.log({...data}) Sugerencia: si desea que los índices de las teclas comiencen desde 1 y no desde 0 , haga lo siguiente:
console.log({...[,...data]})