используйте asyn c Синтаксис await для разрешения вашего обещания. На самом деле в вашем коде происходит следующее: seat.forEach запускается до того, как seat присваивает значение, поэтому оно не определено. Измените свой код следующим образом ...
var seat;
var emp = await db.collection('BookedTicketData').get();
убедитесь, что в асин * используется await Функция 1009 *, иначе она не будет работать.
Я снова применил этот код, но теперь флажок не установлен
var emp = db.collection('BookedTicketData').get().then((snapshot) => {
snapshot.docs.forEach((doc) => {
var data = doc.data()
seat = data.AllSeat
})
}).then(() => {
for (j = 1; j <= 37; j++) {
html += `
<input type="checkbox" class="dn checkme" name="s-size" id="${j}" value="${j}"/>
<label for="${j}" class="col-2 br-pill f7 m-1 btn text-dark bg-white border-dark grow">${j}</label>
`
}
document.getElementById('loader').innerHTML = html;
emp.docs.forEach((doc) => {
var data = doc.data()
console.log(data.AllSeat);
seat = data.AllSeat
})
this will work now
seat.forEach((val) => {
for(i = 1; i<=37;i++){
if(val == i){
html += `
<input type="checkbox" class="dn checkme" name="s-size" id="${j}" value="${j}"/>
<label for="${j}" class="col-2 br-pill f7 m-1 btn text-dark bg-white border-dark grow">${j}</label>
`
}
}
})
document.getElementById('loader').innerHTML = html;