Soy realmente nuevo en esto y acabo de entender los datos json y los quiero como una matriz regular
loginAndDetails.get(`SELECT * FROM logTB` , (err,data) => { console.log(data) }) //output might be 1d or 2d { entry1: 'data1', entry2: 'data2', ., ., entryN: 'dataN' } loginAndDetails.all(`SELECT * FROM logTB` , (err,data) => { console.log(data) }) // alternative output: [{ entry1: 'data1', entry2: 'data2', ., ., entryN: 'dataN' }, { entry1: 'data1', entry2: 'data2', ., ., entryN: 'dataN' }]pero ya he creado toda mi función para trabajar con una matriz JS normal como esta
['data1','data2',...,'dataN'] (or) [['data1','data2',...,'dataN'], ['data1','data2',...,'dataN']]Entonces, ¿hay alguna manera de convertir todos los datos dinámicamente porque algunas veces puede ser una matriz 2d, otras veces puede ser una matriz 1d y puede haber 'n' número de objetos?
¿Tengo que crear una función para construir esto o hay algún otro método?
Puedes hacer algo como esto, te dará una serie de matrices.
var finalResult = []; // checking if data is an array of objects if (Array.isArray(data)){ for (var i=0; i < data.length; i++ ){ console.log(data[i]); var result = getFlatArray(data[i]); finalResult.push(result); } console.log(finalResult); } else{ finalResult = getFlatArray(data); console.log(finalResult); } function getFlatArray(data){ var result = []; for(var j in data){ result.push([data[j]]); } return result; }Pero si desea acceder a sus objetos JSON, puede hacer lo siguiente.]
Para 1d:- data.entry1
Para 2d: data son solo una matriz de JavaScript, por lo que puede recorrerlos con un bucle normal y acceder a los objetos dentro del bucle con el índice de la matriz.
for(var i=0; i < data.length; i++){ // access the data in the loop using array index data[i].entry1; }