# #json #firebase #firebase-realtime-database
Вопрос:
Я использую forEach
для перебора массива объектов. В последнем («транс») Я хочу создать вложенный массив объектов, такой же, как моя база данных:
Но у меня в коде ошибка:
snap.forEach(childSnapshot => {
allWorks.push({
id: childSnapshot.key,
link: childSnapshot.val().link,
trans: childSnapshot.child('trans').map(childSnapshot => { lang: childSnapshot.key}) // <- error: childSnapshot.child(...).map is not a function
})
})
Что я делаю не так?
Спасибо
Ответ №1:
DataSnapshot
Тип Firebase не реализует map
функцию, поэтому ваш childSnapshot.child('trans').map(...)
не будет работать.
Эквивалентным рабочим кодом был бы:
snap.forEach(childSnapshot => {
cont trans = [];
childSnapshot.child('trans').forEach((transChild) => {
trans.push(transChild.key);
})
allWorks.push({
id: childSnapshot.key,
link: childSnapshot.val().link,
trans: trans
})
})