You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中sqlite3查询结果如何转为普通JS数组而非对象数组

解决方案

你可以直接通过原生JS语法实现动态转换,无需引入第三方依赖,自己写一个通用转换函数即可,逻辑非常简单:

function convertSqliteResult(result) {
  // 空结果兜底,可根据自己的需求调整
  if (!result) return []
  // 处理all查询返回的对象数组(二维结果)
  if (Array.isArray(result)) {
    return result.map(row => Object.values(row))
  }
  // 处理get查询返回的单个对象(一维结果)
  return Object.values(result)
}
使用示例

你可以直接把这个函数套到你现有的查询逻辑里:

  • 适配get查询场景
loginAndDetails.get(`SELECT * FROM logTB` , (err,data) => {
  const formattedData = convertSqliteResult(data)
  console.log(formattedData) // 输出格式:['data1','data2',...,'dataN']
})
  • 适配all查询场景
loginAndDetails.all(`SELECT * FROM logTB` , (err,data) => {
  const formattedData = convertSqliteResult(data)
  console.log(formattedData) // 输出格式:[['data1','data2',...,'dataN'], ['data1','data2',...,'dataN']]
})
注意事项

转换后的取值顺序和SQL查询返回的字段顺序完全一致:如果使用SELECT *查询,顺序和表结构定义的字段顺序相同;如果手动指定查询字段(如SELECT entry1,entry2 FROM logTB),则按你指定的字段顺序返回。

内容的提问来源于stack exchange,提问作者doc pinocchio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:18:01