【问题标题】:how to extract firebase database as an array如何将firebase数据库提取为数组
【发布时间】:2017-06-10 07:31:10
【问题描述】:

我是编码新手,非常感谢您提供基本答案。

使用 Javascript 中的 val() 函数提取 firebase 数据时,我可以将数据作为对象获取,例如:

obj1 : {
        obj1.1 :{
                 data1 : "xyz",
                 data2 : "abc"
                }
        obj1.2 :{
                 data1 : "qwe",
                 data2 : "rty"
                }
        }

obj2:{ …… } 然而, 我想要数组格式的数据,例如:

obj1 : [
        obj1.1 :{
                 data1 : "xyz",
                 data2 : "abc"
                }
        obj1.2 :{
                 data1 : "qwe",
                 data2 : "rty"
                }
        ]
    obj2 : [
            ....
           ]

任何帮助将不胜感激

【问题讨论】:

    标签: javascript angularjs firebase firebase-realtime-database


    【解决方案1】:

    您可以使用此转换器将firebase 对象转换为数组

    var app = angular.module("app", []);
    
    
    app.controller("ctrl", ["$scope", function($scope) {
        var convertor = function(object) {
            var newArray = [];
    
            for (var key in object) {
                var objectA = { name: key , list: []};
                if (object.hasOwnProperty(key)) {
                    for (var keyA in object[key]) {
                        objectA.list.push(object[key][keyA]);
                    }
                }
                newArray.push(objectA);
            }
            return newArray;
        }
    
        var array = {
            obj1: {
                "obj1.1": { data1: "a", data2: "b" },
                "obj1.2": { data1: "c", data2: "d" }
            },
            obj2: {
                "obj1.1": { data1: "e", data2: "f" },
                "obj1.2": { data1: "g", data2: "h" }
            }
        }
    
        $scope.data = convertor(array);
    }]);
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    
    <div ng-app="app" ng-controller="ctrl">
    <ul>
        <li ng-repeat="item in data">
            {{item.name}}
            <ul>
                <li ng-repeat="child in item.list">
                    <label>data1: {{child.data1}}</label> |
                    <label>data2: {{child.data2}}</label>
                </li>
            </ul>
        </li>
    </ul>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-20
      • 2017-07-06
      • 2015-02-11
      • 2018-09-17
      • 2019-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多