【问题标题】:Can I get the result in a Array instead of JSON array from sqlite3 database in node?我可以从节点中的 sqlite3 数据库中获取数组而不是 JSON 数组的结果吗?
【发布时间】:2021-11-15 20:05:29
【问题描述】:

我真的很陌生,我刚刚掌握了 json 数据,我希望它是一个常规数组

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'
  }]

但是我已经创建了我所有的函数来使用普通函数 像这样的JS数组

['data1','data2',...,'dataN'] 

(or) 

[['data1','data2',...,'dataN'],
['data1','data2',...,'dataN']]

所以有没有办法动态转换所有数据,因为有时它可能是一个二维数组,有时它可能是一个一维数组并且可能有“n”个对象

我必须创建一个函数来构建它还是有任何其他方法

【问题讨论】:

    标签: javascript node.js arrays json sqlite


    【解决方案1】:

    你可以这样做,它会给你一个数组数组。

    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;
    }
    

    但如果您想访问您的 JSON 对象,您可以执行以下操作。]

    对于 1d:- data.entry1

    对于 2d:- data 只是一个 javascript 数组,因此您可以使用普通循环遍历它并使用数组索引访问循环内的对象。

    for(var i=0; i < data.length; i++){
        // access the data in the loop using array index
        data[i].entry1;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-23
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      相关资源
      最近更新 更多