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

Chrome控制台无法获取JS对象数据,提取total值始终返回null

解决JavaScript对象中提取total值返回null的问题

以下是几种可能的原因和对应的解决方法:

1. total是嵌套在子对象中

如果原始数据结构是嵌套的(比如dd.data.total),直接访问dd.total自然会返回null或undefined。可以通过以下方式排查:

  • 在控制台展开console.log(dd)输出的对象,查看total的实际层级路径
  • 使用console.log(dd?.data?.total)(可选链操作符)尝试访问嵌套的total

2. total是不可枚举属性或Symbol类型键

for...in循环和JSON.stringify()只会遍历可枚举的字符串键,如果total是不可枚举属性或Symbol类型的键,这两种方法都无法输出它。可以用以下代码查看对象的所有属性:

// 查看所有字符串键(包括不可枚举)
console.log(Object.getOwnPropertyNames(dd));
// 查看所有Symbol类型的键
console.log(Object.getOwnPropertySymbols(dd));
// 查看每个属性的详细描述(是否可枚举等)
Object.entries(Object.getOwnPropertyDescriptors(dd)).forEach(([key, desc]) => {
  console.log(`${key}: 值=${desc.value}, 可枚举=${desc.enumerable}`);
});

如果查到total是不可枚举属性,直接通过dd.total依然可以访问到它的值。

3. 数据尚未完成加载

有时候浏览器控制台会动态更新对象的显示(即你看到的对象是后续填充的),但实际执行代码时dd还没有被赋值为完整数据。这种情况常见于异步请求场景,比如result1是通过fetch或AJAX获取的,需要确保在数据返回后再执行提取逻辑:

// 示例:用async/await确保数据加载完成
async function getTotal() {
  const result1 = await fetch('/your-api-url').then(res => res.json());
  const dd = result1[0];
  console.log(dd.total); // 此时数据已加载完成
}
getTotal();

4. 属性名存在大小写或拼写错误

确认你的属性名是total而不是Total、TOTAL或其他拼写变体,JavaScript是大小写敏感的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:30:10