【问题标题】:How iterate and print two dimensional array in JavaScript?如何在 JavaScript 中迭代和打印二维数组?
【发布时间】:2014-05-30 04:58:43
【问题描述】:

我是 java 脚本的新手,我有这个二维数组,我想通过 for 循环将这些数组值传递给链接。我已经发布了下面的代码。谁能告诉我该怎么做。

谢谢

<script>
    var MiddelEastCountriesArray = [['Benelux', 'NE'], ['Deutschland', 'DE'], ['France', 'FR'], ['Ireland', 'IE'], ['Italia', 'IE'], ['Nordics', 'NO'], ['Middle East', 'ME'], ['United Kingdom', 'UK']];

    for(var i = 0; i < MiddelEastCountriesArray.length; i++) {
        for(var j = 0; j < MiddelEastCountriesArray[i].length; j++) {

            document.write("<p><a href='http://www.test.com/" + MiddelEastCountriesArray[0][j] + "/default.aspx'>" + MiddelEastCountriesArray[i][0] + "</a></p>");
        }
    }
</script>

预期输出:

        <p><a href='http://www.test.com/NE/default.aspx'>Benelux</a></p>
        <p><a href='http://www.test.com/DE/default.aspx'>Deutschland</a></p>
        <p><a href='http://www.test.com/FR/default.aspx'>France</a></p>
        <p><a href='http://www.test.com/IE/default.aspx'>Ireland</a></p>
        ....
        ....
        ....

【问题讨论】:

  • 你的预期输出是什么?
  • 向我们展示预期的输出
  • 看起来它可以工作,尽管你可能已经注意到你没有使用“j”来表示任何东西(你可以删除那个循环)。国家名称为 MECA[i][0],国家代码 MECA[i][1]。我会重命名该数组,输入太多!
  • 如果您总是获得第 0 个元素,则无法了解内部 for 循环的用途
  • 我已经更新了帖子。我已经添加了我的预期输出。谢谢。

标签: javascript html arrays multidimensional-array


【解决方案1】:

您不需要迭代内部循环。试试这个,

var MiddelEastCountriesArray = [['Benelux', 'NE'], ['Deutschland', 'DE'], ['France', 'FR'], ['Ireland', 'IE'], ['Italia', 'IE'], ['Nordics', 'NO'], ['Middle East', 'ME'], ['United Kingdom', 'UK']];

for(var i = 0; i < MiddelEastCountriesArray.length; i++) {
    document.write("<p><a href='http://www.test.com/" + MiddelEastCountriesArray[i][1] + "/default.aspx'>" + MiddelEastCountriesArray[i][0] + "</a></p>");
}

【讨论】:

  • 对不起,我在发布的代码中犯了一个小错误,我编辑了它。请再看看。我想将这两个值都传递给链接。谢谢
  • @user3689990 复制我上面的代码并将其粘贴到控制台并按回车键,您将看到确切的预期输出
  • 如果他只是想打印每个内部循环的第二个,这是正确的做法,但据我了解,他试图创建包含国家名称和缩写的链接。
【解决方案2】:

不知道,是否满足你的要求,但如果有一个对象数组,那不会很痛苦。

var MiddelEastCountriesArray = [{place:'Benelux',abbreviation:'NE'},{place:'Detuschland',abbreviation:'DE'}]

现在您可以通过这种方式对其进行迭代:

    MiddelEastCountriesArray.forEach(function(x){document.write("<p><a href='http://www.test.com/" + x.abbreviation + "/default.aspx'>" + x.place + "</a></p>");})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    相关资源
    最近更新 更多