如何将 Firebase 快照数据设置为 sessionStorage 中的数组

How to set Firebase snapshot data into array in sessionStorage

var db1 = firebase.firestore();//API firestore database
var docRef1 = db1.collection("SuccessTransaction");
var showSeat = docRef1.get().then(function(snapshot){
    snapshot.forEach(function(doc){
    if(doc.exists){
            alert(doc.data().Seat);
            sessionStorage.setItem("routeUnavailableSeat", JSON.stringify(doc.data().Seat));

        }else{
            alert("No such documet!");
        }
});
}).catch(function(error){
    alert("Error getting document!", error);
});

我遇到了这种情况。我的意图是设置我的快照值并将其设置到 sessionStorage 中。问题出在系统运行之后,会替换旧数据,替换新数据。如何使用数组或其他方法将我的所有数据保存在 sessionStorage 中?

本地存储API(会话存储所基于的)只能存储字符串值。因此,要将您的值存储为数组,您需要将数组编码为字符串。

除此之外,这是获取当前值、解析它然后将其添加回会话存储的问题:

if(doc.exists){
  let value = sessionStorage.getItem("routeUnavailableSeat");
  let seats = current ? JSON.parse(current) : [];
  seats.push(doc.data().Seat)
  sessionStorage.setItem("routeUnavailableSeat", seats);
}