我从Firebase以特定格式检索数据时遇到了一些麻烦,尽管看起来应该很简单。

数据库端点以以下格式存储此数据:

{
    "A": {
        "width": 120,
        "height": 130
    },
    "B": {
        "width": 350,
        "height": 240
    },
    "C": {
        "width": 680,
        "height": 160
}


我要做的就是将字母和它们各自的宽度和高度连接起来,然后将所有组推入数组并将其设置为等于“数据”,这样我就可以在程序中的任何地方调用“数据”以使用它了,就像这样:

    var data = [{
    "id" : "A",
    "width": 120,
    "height": 130
}, {
    "id" : "B",
    "width": 350,
    "height": 240
}, {
    "id" : "C",
    "width": 680,
    "height": 160
}];

   // somewhere else in the file
  // data[0].end === 150


最简单的方法是什么?

谢谢!

最佳答案

Here's a fiddle.

var junk = {
    "A": {
        "width": 120,
        "height": 130
    },
    "B": {
        "width": 350,
        "height": 240
    },
    "C": {
        "width": 680,
        "height": 160
        }
};
var data = [];
for (var property in junk) {
    if (junk.hasOwnProperty(property)) {
        data.push({
            name:property,
            end: junk[property].width,
            start:junk[property].height
        });
    }
}
console.log(data);

10-04 22:38
查看更多