Polymer dom-repeat 和 Firestore - 将 object 映射转换为数组

Polymer dom-repeat and Firestore - convert object map to array

Polymer dom-repeats 只接受数组数据类型。我正在使用 Firestore,建议使用 object 映射而不是数组,因为它们可以单独查询和更新,这与数组元素不同。

问题是,如何转换此 object 地图:

{
  "subsections": {
    "0": {
      "title": "my title 1",
      "description": "my desc 1"
    },
    "1": {
      "title": "my title 2",
      "description": "my desc 2"
    }
  }
}

到这个数组:

{
"subsections": [
  {
    "title": "my title 1",
    "description": "my desc 1"
  },
  {
    "title": "my title 2",
    "description": "my desc 2"
  }
}

聚合物dom-repeat是这样的:

<template is="dom-repeat" items="{{_toArray(sections.subsections)}}">

通话中:

_toArray(obj) {
  return Object.keys(obj).map(function (key) {
    return {
      name: key,
      value: obj[key]
    };
  });
}

问题是函数 returns 嵌套的 0 和 1 数组,其中嵌套了标题和说明。

求助!我是所有这些前端开发的新手,所以非常感谢任何帮助。

如下更改 _toArray 函数

_toArray(obj) {
  return Object.keys(obj).map(function (key) {
    return obj[key];
  });
}

然后调用方法

obj.subsections = _toArray(obj.subsections);