Я использую базу данных Firebase Realtime в JavaScript для времени фриста и пытаюсь пройти через мои данные с помощью Object.Entries (snapshot.val ()). Я заметил, что когда я получаю доступ к магазинам [0], это дает мне ключ Firebase для каждого предмета. Я не уверен, почему это работает. < /P>
Вот мой код: < /p>
onValue(lists, function(snapshot) {
if (!snapshot.exists()) {
console.log("No data found");
return;
}
let shops = Object.entries(snapshot.val());
for (let i = 0; i < shops.length; i++) {
let del = shops[0]; // This gives the Firebase key
console.log(del); // Why does this work?
}
});
< /code>
Что я понимаю:
Object.entries(snapshot.val())< /code> преобразует мои данные Firebase в массив пар клавишных. «Полностью понять, как я работаю в этом случае.
Может ли кто -нибудь объяснить, как индекс цикла (i) взаимодействует с Object.Entries () и почему Shops [0] < /code> дает ключ?
Если вы хотите, это полный код и расскажите, как я могу рефактор < /p>
//ooo
const tr = document.getElementById("tr")
const trs = document.getElementById("clear")
const show = document.getElementById("show")
const text = document.getElementById("text")
const sub = document.getElementById("sub")
// Import the functions you need from the SDKs you need
import { initializeApp } from "https://www.gstatic.com/firebasejs/11.3 ... ase-app.js";
import { getDatabase,ref,push,onValue,remove } from "https://www.gstatic.com/firebasejs/11.3 ... atabase.js";
// https://firebase.google.com/docs/web/se ... -libraries
// Your web app's Firebase configuration
const firebaseConfig = {
apiKey: "AIzaSyC9ebhCO9FdQrF2GCnE0vTwYrmik4rvaT8",
authDomain: "shop-1847a.firebaseapp.com",
databaseURL: "https://shop-1847a-default-rtdb.asia-so ... tabase.app",
projectId: "shop-1847a",
storageBucket: "shop-1847a.firebasestorage.app",
messagingSenderId: "965005392074",
appId: "1:965005392074:web:63c1d5058bfdd25ff99c33"
}
const app = initializeApp(firebaseConfig);
const idk = getDatabase(app)
const lists = ref(idk,"shop")
console.log(idk)
function comes(){
let value = text.value
push(lists,value )
}
addEventListener("load",function(snapshot){
if(!snapshot){
console.log("not found")
}
else{
onValue(lists,function(snapshot){
show.innerHTML=''
let shop = Object.values(snapshot.val())
let shops = Object.entries(snapshot.val())
for(let i =0; i < shop.length;i++){
console.log(shop)
console.log(shops)
const ba = document.createElement('label');
const va = document.createElement('button');
const b = document.createElement('br')
va.textContent=shop
va.id = "te"
va.addEventListener("click",function(){
let del = shops[0]
console.log(del)
let delp = ref(idk,`shop/${del}`)
remove(delp)
})
ba.htmlFor="tr"
va.textContent=shop
show.appendChild(va);
show.appendChild(b)
show.appendChild(ba)
}
})
}
})
sub.addEventListener("click",function(){
comes()
onValue(lists,function(snapshot){
show.innerHTML=''
let shops = Object.entries(snapshot.val())
let shop = Object.values(snapshot.val())
for(let i =0; i < shop.length;i++){
console.log(shop)
const ba = document.createElement('label');
const va = document.createElement('button');
const b = document.createElement('br')
va.id = "tr"
va.addEventListener("click",function(){
let del = shops[0]
let delp = ref(idk,`shop/${del}`)
remove(delp)
})
ba.htmlFor="tr"
va.textContent=shop[i]
show.appendChild(ba)
show.appendChild(va);
show.appendChild(b)
}
})
})
Подробнее здесь: https://stackoverflow.com/questions/794 ... napshot-va
Почему магазины [i] [0] возвращают ключ Firebase при использовании Object.Entries (snapshot.val ())? ⇐ Javascript
Форум по Javascript
1739103293
Anonymous
Я использую базу данных Firebase Realtime в JavaScript для времени фриста и пытаюсь пройти через мои данные с помощью Object.Entries (snapshot.val ()). Я заметил, что когда я получаю доступ к магазинам [i] [0], это дает мне ключ Firebase для каждого предмета. Я не уверен, почему это работает. < /P>
Вот мой код: < /p>
onValue(lists, function(snapshot) {
if (!snapshot.exists()) {
console.log("No data found");
return;
}
let shops = Object.entries(snapshot.val());
for (let i = 0; i < shops.length; i++) {
let del = shops[i][0]; // This gives the Firebase key
console.log(del); // Why does this work?
}
});
< /code>
Что я понимаю:
Object.entries(snapshot.val())< /code> преобразует мои данные Firebase в массив пар клавишных. «Полностью понять, как я работаю в этом случае.
Может ли кто -нибудь объяснить, как индекс цикла (i) взаимодействует с Object.Entries () и почему Shops [i] [0] < /code> дает ключ?
Если вы хотите, это полный код и расскажите, как я могу рефактор < /p>
//ooo
const tr = document.getElementById("tr")
const trs = document.getElementById("clear")
const show = document.getElementById("show")
const text = document.getElementById("text")
const sub = document.getElementById("sub")
// Import the functions you need from the SDKs you need
import { initializeApp } from "https://www.gstatic.com/firebasejs/11.3.0/firebase-app.js";
import { getDatabase,ref,push,onValue,remove } from "https://www.gstatic.com/firebasejs/11.3.0/firebase-database.js";
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
const firebaseConfig = {
apiKey: "AIzaSyC9ebhCO9FdQrF2GCnE0vTwYrmik4rvaT8",
authDomain: "shop-1847a.firebaseapp.com",
databaseURL: "https://shop-1847a-default-rtdb.asia-southeast1.firebasedatabase.app",
projectId: "shop-1847a",
storageBucket: "shop-1847a.firebasestorage.app",
messagingSenderId: "965005392074",
appId: "1:965005392074:web:63c1d5058bfdd25ff99c33"
}
const app = initializeApp(firebaseConfig);
const idk = getDatabase(app)
const lists = ref(idk,"shop")
console.log(idk)
function comes(){
let value = text.value
push(lists,value )
}
addEventListener("load",function(snapshot){
if(!snapshot){
console.log("not found")
}
else{
onValue(lists,function(snapshot){
show.innerHTML=''
let shop = Object.values(snapshot.val())
let shops = Object.entries(snapshot.val())
for(let i =0; i < shop.length;i++){
console.log(shop[i])
console.log(shops[i])
const ba = document.createElement('label');
const va = document.createElement('button');
const b = document.createElement('br')
va.textContent=shop[i]
va.id = "te"
va.addEventListener("click",function(){
let del = shops[i][0]
console.log(del)
let delp = ref(idk,`shop/${del}`)
remove(delp)
})
ba.htmlFor="tr"
va.textContent=shop[i]
show.appendChild(va);
show.appendChild(b)
show.appendChild(ba)
}
})
}
})
sub.addEventListener("click",function(){
comes()
onValue(lists,function(snapshot){
show.innerHTML=''
let shops = Object.entries(snapshot.val())
let shop = Object.values(snapshot.val())
for(let i =0; i < shop.length;i++){
console.log(shop[i])
const ba = document.createElement('label');
const va = document.createElement('button');
const b = document.createElement('br')
va.id = "tr"
va.addEventListener("click",function(){
let del = shops[i][0]
let delp = ref(idk,`shop/${del}`)
remove(delp)
})
ba.htmlFor="tr"
va.textContent=shop[i]
show.appendChild(ba)
show.appendChild(va);
show.appendChild(b)
}
})
})
Подробнее здесь: [url]https://stackoverflow.com/questions/79424867/why-does-shopsi0-return-a-firebase-key-when-using-object-entriessnapshot-va[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия