Javascript 如何从每个firebase对象中获取最后一项并将其放入数组中

Javascript 如何从每个firebase对象中获取最后一项并将其放入数组中,javascript,firebase,react-native-firebase,Javascript,Firebase,React Native Firebase,我正在使用的React Native Firebase人员,我希望实现附件ss 有一个message键,它下面有线程,每个线程都有多条消息。我想这样做,就像我想从每个线程中获取最后一项并将其放入一个数组中一样。如何实现。我试图使用foreach,但没有得到我想要的结果 这是我的密码 messagesRef.on('value', snapshot => { let messsagesFB = []; snapshot.forEach(element =&

我正在使用的
React Native Firebase
人员,我希望实现附件
ss

有一个
message
键,它下面有线程,每个线程都有多条消息。我想这样做,就像我想从每个线程中获取最后一项并将其放入一个数组中一样。如何实现。我试图使用foreach,但没有得到我想要的结果

这是我的密码

 messagesRef.on('value', snapshot => {
        let messsagesFB = [];

        snapshot.forEach(element => {
          messsagesFB = [...messsagesFB, element.val()];
        });
      });

我知道我的代码将推送每个元素,但我只想推送每个线程中的最后一项

对于您的数据库参考
messagesRef
,请尝试为查询添加
.orderByKey().limitToLast(1)
,在这种情况下,不需要循环

messagesRef.orderByKey().limitToLast(1).on('value', snapshot => {
   // TODO: Add to array
}
jQuery
foreach
循环的最后一次迭代也总是有捕获。在您的情况下,您可以简单地执行以下操作:

snapshot.forEach(function(element, idx, messagesFB) {
   if (idx === messagesFB.length - 1){ 
       messsagesFB.push(element.val());
   }
});