¿Cómo convertir el objeto 1 con varios elementos dentro en una matriz de objetos? por favor vea la imagen de abajo para entender lo que quise decir, gracias
var author = (`SELECT author, title, remarks, status, date FROM Transaction`, 1000, data=>{ let obj = {[author: [], book: [], condition: [], status: [], date: []]} for(let x = 0; x < data.length; x++){ obj.author.push(data[x][0]); obj.book.push(data[x][1]); obj.condition.push(data[x][2]); obj.status.push(data[x][3]); obj.date.push(data[x][4]); } console.log("obj: ", obj) return resolve(obj); })El resultado actual de console.log("obj: ", obj)
{ "authors": "testuser,testname", "books": "440936785,440936694", "conditions": "Very Good,New,", "status": "Not Available,Available", "datepublished": "Mon Mar 28 2022 18:42:24 GMT+0800 (Philippine Standard Time),Mon Mar 28 2022 18:42:39 GMT+0800 (Philippine Standard Time)" }Lo que quiero resultado:
{ "authors": "testname", "books": "440936694", "conditions": "New", "status": "Available", "datepublished": "Mon Mar 28 2022 18:42:24 GMT+0800 (Philippine Standard Time)" }, { "authors": "testname", "books": "440936694", "conditions": "New,", "status": "Available", "datepublished": "Mon Mar 28 2022 18:42:39 GMT+0800 (Philippine Standard Time)" }Tiene una lista de filas y desea crear una lista de objetos. Eso significa que tienes que convertir cada fila en un objeto. Tal transformación generalmente se realiza con Array#map , que aplica una función a cada elemento de una matriz y produce una nueva matriz a partir del valor de retorno de esa función:
const objects = data.map(row => ({ author: row[0], book: row[1], condition: row[2], status: row[3], date: row[4], }));La biblioteca que está utilizando para consultar la base de datos también podría crear un objeto por fila (usando los nombres de las columnas) para que no tenga que hacer el mapeo usted mismo.