在javascript中获取大数组 - 内存和浏览器性能

时间:2016-10-27 14:56:04

标签: javascript jquery arrays object memory-leaks

我有一个这样的对象:

    {
  "ROADONE": {
    "name": "VIA LEOPOLDO GALEOTTI",
    "rClass": "Strada Comunale",
    "id": 3433454,
    "roadElements": {
      "ELEMENTONE": {
        "type": "di tronco carreggiata",
        "id": 23323223,
        "composition": "carreggiata unica"
      }
    }
  },
  "ROADTWO": {
    "name": "STRADA SENZA NOME",
    "rClass": "Strada Comunale",
    "id": 34534335,
    "roadElements": {
      "ELEMENTONE": {
        "type": "di tronco carreggiata",
        "id": "RT04801727421ES",
        "composition": "carreggiata unica"
      },
      "ELEMENTTWO": {
        "type": "di tronco carreggiata",
        "id": "RT04801727420ES",
        "composition": "carreggiata unica"
      }
    }
  }
}

每个ROAD对象都有一个名为roadElements的字段。

在roadElements中,有更多具有某些字段的对象。

在我的目标中,我有大约5000个元素ROADONE,ROADTWO ... ecc.ecc。

对于他们每个人,在roadElements字段中大约有十个元素。

我必须扫描所有对象ROADONE,ROADTWO ... ecc.ecc。并为roadElements列表中的每个获取数据。

实际上我是这样做的:

for (var road in myObjectroad.roadElements) {
    var name = road.name;
    var roadelements = road.roadElements;

    for (var roadElKey in road.roadElements) {
        var element = road.roadElements[roadElKey];
        var elementType = element.type;
    }
}

此代码对于浏览器内存来说更贵,我的笔记本cpu占用率的90%。并且它需要超过2分钟的获取过程。

在javascript中获取此数据的最佳方法是什么?

我怎样才能有效率?

非常感谢。

0 个答案:

没有答案