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

React中从Firebase返回的单元素数组获取id值出现undefined问题

解决Firebase返回数组中提取id的问题

你的问题出在将数组展开为对象的方式错误:OriginalData.slice(0)返回的仍然是完整数组(slice(0)相当于复制整个数组),用对象展开符{...}处理数组时,会把数组的索引作为对象的键,所以最终得到的ConvertingToObject是{0: {data:..., id: "100"}}——这个对象本身没有id属性,只有键为0的子对象才有,直接取ConvertingToObject.id自然返回undefined。

正确的提取方式

直接从数组中获取第一个元素,再访问其id属性即可,以下是几种简洁写法:

  1. 直接索引取值
console.log("OriginalData", OriginalData);
const firstItem = OriginalData[0];
const RetrievingID = firstItem.id;
console.log("Retrieving ID", RetrievingID);
  1. 数组解构赋值
console.log("OriginalData", OriginalData);
const [firstItem] = OriginalData; // 直接解构出数组第一个元素
const RetrievingID = firstItem.id;
console.log("Retrieving ID", RetrievingID);
  1. 可选链操作符(推荐,防止数组为空报错)
    如果担心数组可能为空(比如Firebase返回数据异常),可以用可选链避免报错:
const RetrievingID = OriginalData[0]?.id;
console.log("Retrieving ID", RetrievingID); // 数组为空时返回undefined,不会抛出错误

验证你的控制台输出

从你提供的控制台结果来看,OriginalData[0].id就是你要的"100",以上方法都能正确获取到这个值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:45:34