循环时,二维数组不会推送正确的索引值

时间:2017-07-30 18:44:01

标签: javascript jquery arrays loops multidimensional-array

我有2个api调用,它们都将值推送到多维数组中,以便将相应的值结果与api调用相关联。

当我运行以下内容时:

console.log(JSON.stringify(spacetime), null, "\t");

控制台告诉我:

[
  {
    "Title":
      [
        "Battle of Baekgang","Victory Tests","Everett massacre"
      ],
    "Space": [
      "United States"
    ],
    "Time": [
      "27 - 28 August 663 CE ",
      "27 - 28 August 663 CE 19 May 1945 – 22 August 1945 ",
      "27 - 28 August 663 CE 19 May 1945 – 22 August 1945 November 5, 1916 "
    ]
  }
]

但价值观不匹配,我有3个对象Title,一个Space和3 Time

这是jsFiddle,它有点长,所以有点快速指南:

  1. 69行,我们使用wikiText()500运行第一组调用,他们需要这么多,否则我们将无法找到与之匹配的结果标准。我们按下这样推送当前title和当前date

      spacetime[0].Title.push(curTitle);
      spacetime[0].Time.push(d);
    
  2. 在此次通话中,我们会进行大量检查,但我们希望专注于108 - 128 - 149169这些行,基本上这些是运行第二个api call的行:countryPage();

  3. 在第二次api调用中,我们检查当前页面是否有任何其他匹配条件,如果是,我们push将结果导入名为Space[]的多维数组。

    最后push tho,它与我们在else上执行wikiText()之一时的调用有关,这意味着我们没有找到space所以我们启动countryPage();来查找它。

    但关系不会发生,他们会得到pushed,但不是正确的顺序,也不是正确的数量,如本问题上面的第一部分所述。这让我坚持了2天tbh。

0 个答案:

没有答案