NodeJS中的嵌套同步循环

时间:2017-10-06 16:47:58

标签: javascript node.js loops nested synchronous

所以我有一个对象数组,我想用于我的服务器,每个对象具有相同数量的键。

以下是该阵列的简化版本:



[{
  "BTQ": 1,
  "COLLIC": "Foo1",
  "MMC": "Bar1",
  "PTURE": 39,
  "STOCK": 6,
},
{
  "BTQ": 1,
  "COLLIC": "Foo1",
  "MMC": "Bar2"",
  "PTURE": 31,
  "STOCK": 2,
},
{
  "BTQ": 2,
  "COLLIC": "Something1",
  "MMC": "AnotherThing1",
  "PTURE": 40,
  "STOCK": 5,
},
{
  "BTQ": 2,
  "COLLIC": "Something1",
  "MMC": "AnotherThing1",
  "PTURE": 11,
  "STOCK": 7,
}]




我想构建一个循环遍历所有这些对象的函数,并构建另一个看起来像这样的JSON数组:



[
  {
    "BTQ": 1,
    "COLLICs": {
      "Foo1": {
        "Bar1": {
          "Stock": 6,
          "PTURE" {"39": 6}
        },
        "Bar2": {
          "Stock": 2,
          "PTURE": {"31": 2,}
        }
      }
    }
  },
  {
    "BTQ": 2,
    "COLLICs": {
      "Something1": {
        "AnotherThing1": {
          "Stock": 12,
          "PTURE": {"40": 5, "11": 7}
        }
      }
    }
  },
  //etc ...
]




我正在使用NodeJS,我发现我需要构建一个像这样的函数:



function step(i){
  if (i < raw.length){
    data.push(raw[i].A);
    step(i + 1);
  } else {
    console.log("Finished");
    console.log(data);
  }
}
&#13;
&#13;
&#13;

但问题是我不知道如何嵌套这个功能...... 这是我最终想要实现的目标:

1)循环遍历原始数组中的每个对象(使用上面的函数完成)

2)对于每个对象,遍历数据(排序的数组)并查看其中的任何对象是否具有相同的&#34; BTQ&#34;值,如果是这样:进入对象,看看raw[i].COLLIC是否存在data[j].COOLLICs&#39;键。如果存在,查看MMC是否存在,ETC ...如果任何值不存在,则创建一个存储所有信息的新键/对象,然后使用以下原始对象重新开始。

可能不是很清楚,我很抱歉,如果它可以提供帮助,我已经构建了相同的算法但是使用for循环,我可以将它粘贴在这里,如果它可以帮助使事情更清楚。

我真的希望你能帮助我,因为我对此感到失望...... 谢谢 !阿里

0 个答案:

没有答案