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
}
jQueryforeach
循环的最后一次迭代也总是有捕获。在您的情况下,您可以简单地执行以下操作:
snapshot.forEach(function(element, idx, messagesFB) {
if (idx === messagesFB.length - 1){
messsagesFB.push(element.val());
}
});