【问题标题】:Creating an Array of JS objects from Firebase从 Firebase 创建一个 JS 对象数组
【发布时间】:2018-04-09 15:04:23
【问题描述】:

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

我得到的是这个:see the console printscreen of an array Iam getting when retrieving date from firebase

这是我用来获取数据的代码:

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);


  }
}

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

【问题讨论】:

    标签: javascript arrays firebase firebase-realtime-database


    【解决方案1】:

    只在循环外创建一次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);
    

    【讨论】:

    • 太棒了!非常感谢!
    猜你喜欢
    • 2019-07-17
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    相关资源
    最近更新 更多