私は、次のような構造を持つfirebase databseを持っている:firebaseオブジェクトのプロパティを配列としてリストする方法は?
は、これらのランダムのUIDの各々はcreator
とroomName
を持っています。私は["Holy Robert Louis Stevenson", "Holy Sardine", "Holy Gunpowder"]
のように、アレイ内のすべてのroomNameを表示しようとしていますが、[Object, Object, Object]
はここに私のコードであるとして、それは常に表示されます。私はconsole.log('firebaseHolyArray: ', Object.values(snap.val())["roomName"]);
を試してみましたHAV
const dbRef = firebase.initializeApp(config).database().ref().child('rooms');
...
componentDidMount(){
dbRef.on('value', snap => {
console.log(snap.val());
console.log('firebaseHolyArray: ', Object.values(snap.val()));
});
}
が、それは未定義表示されます。配列形式でroomName
の値を表示するにはどうすればよいですか?
snap.val()
はこのような何か戻っていると思います
'Uncaught TypeError:snap.val(...)。mapは関数ではありません。 '私はあなたがこれで行くところを見ていると思う。 – Iggy
@ikichaは、これで少し上手くいくでしょう: 'Object.values(snap.val())。map' ...おそらく代わりにそれを試してみませんか? – dbburgess
'snap.val()'が配列を返すと仮定しましたが、オブジェクトとして返されていれば私のアプローチはうまくいかないでしょう。 'Object.values'はそれを配列に変換し、' map'がそれを魔法にすることを許可します。 – dbburgess