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

Dexie技术问题:如何仅查询指定列并返回纯值数组而非对象数组?

只提取指定列的纯值数组解决方案

从你的代码风格判断,你使用的是Dexie.js库,以下两种方法可以实现仅获取sample列的纯值数组:

方法1:获取结果后用Array.map过滤

这是最直接的实现方式,先拿到完整对象数组,再映射提取目标字段:

const results = await useDatabase.data.where("ts").between(ms - 1000, ms).toArray();
const sampleValues = results.map(item => item.sample);
// sampleValues 格式为 [0, ...]

方法2:用.each()遍历收集(适合大数据集)

如果数据集较大,不想一次性加载所有完整对象到内存,可以通过.each()逐个遍历并收集目标字段:

const sampleValues = [];
await useDatabase.data.where("ts").between(ms - 1000, ms).each(item => {
  sampleValues.push(item.sample);
});
// 遍历完成后sampleValues即为目标数组

补充说明

Dexie没有直接返回单字段纯数组的内置API,所以上述两种是最常用的方案。客户端层面的映射操作开销极低,除非处理超大规模数据,否则第一种方法完全够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:15:30