Javascript控制台数据显示长度为2,但只包含一个值

Javascript控制台数据显示长度为2,但只包含一个值,javascript,reactjs,Javascript,Reactjs,我有下面的firestore代码,它只是将一些对象附加到数组中,然后将数组传递给react组件以填充列表 export const getUsers =async (tarinerId) => { let data = []; try{ let ref = await db .collection("users") .orderBy("createdAt") .li

我有下面的firestore代码,它只是将一些对象附加到数组中,然后将数组传递给react组件以填充列表

 export const getUsers =async (tarinerId) => {
      let data = [];
      try{
      let ref = await db
        .collection("users")
        .orderBy("createdAt")
        .limit(3)
        .get();
    
          if (ref.empty) {
           return new Promise.reject("No User Found")
          }
          ref.forEach(doc => {
     data.push({
              name: doc.data().first_name+" "+doc.data().last_name,
              id: doc.data().id,
              email: doc.data().email,
              createdAt: doc.data().createdAt
            })
}
    console.log(data)
    return Promise.resolve({userData: data})
    } catch(error) {console.log(error}
}       
    
用户数据被传递到react组件中。一旦收到,我想从数组中弹出最后一个元素

<Component userData={userData.data} />

组件中
我正在弹出数据

但是问题是
console。函数中的log
打印出4个项目的长度,但其中只有3个项目


我的第一个猜测是关于引用调用,但是为什么组件pop会影响已经执行的函数上的console.log?或者这里有什么明显的遗漏吗?

您的
ref
可能有一个空记录。这可能就是返回额外的空对象的原因

能否先修复代码缩进?如果缩进正确,您会注意到提供的代码段缺少3个结尾
}
和1个
。您当前也从
forEach
回调返回,而不是从
getUsers
返回。由于代码是如此杂乱无章,我认为在将代码复制到问题中时可能出现了错误。更新了代码