从Firebase创建JS对象数组

时间:2018-04-08 14:14:08

标签: javascript arrays firebase firebase-realtime-database

我正在努力从firebase数据库创建一个对象数组。 我需要得到一个这样的数组: see the console printscreen of an array

相反,我得到了这个:see the console printscreen of an array Iam getting when retrieving date from firebase

以下是Iam用于获取数据的代码:

function gotData(data) {
  //console.log(data.val());
  var mesta = data.val();
  var keys = Object.keys(mesta);
  //console.log(keys);
  for (var i = 0; i < keys.length; i++) {
    var k = keys[i];
    var nazevmesta = mesta[k].nazevmesta;
    var lat = mesta[k].lat;
    var lng = mesta[k].lng;
    var mesto = new Object();
    mesto.name = nazevmesta;
    mesto.lat = lat;
    mesto.lng = lng;

    var mestaz = new Array();
    mestaz.push(mesto);
    console.log(mestaz);


  }
}

我正在尝试在最后创建数组。 任何帮助将非常感激。 感谢

1 个答案:

答案 0 :(得分:0)

在循环外只创建一次mestaz数组,而不是每次迭代循环时创建一个新实例

var mestaz = []; /// create one array

for (var i = 0; i < keys.length; i++) {
  var k = keys[i];

  var mesto = {
    name: mesta[k].nazevmesta,
    lat: mesta[k].lat,
    lng: mesta[k].lng
  };

  // push each object to same array
  mestaz.push(mesto);

}

// log whole array after adding all of the elements in the loop
console.log(mestaz);
相关问题