从多维数组中提取值

3

我有一个非常大的数组,其中包含汽车品牌和型号。我已经将品牌提取到了一个单独的数组中,但是我在提取型号时遇到了困难,同时还要保持它们与品牌之间的关联。

以下是数组的示例:

var dataa = new Array
        (
            ['Acura','','Integra','Mdx','Rl','Rsx','Slx','Tl','Tsx'],
            ['Aixam','','400','505','600'],
            ['Alfa romeo','','145','146','147','155','156'],
            ['Aston martin','','.','DBS','Db7','Db9']);

如您所见,我有一个多维数组,其中汽车品牌(位于 dataa[0][0])是第一维,然后是空值,接着是该品牌的型号。

我使用此代码获取汽车品牌:

这将给我每个嵌套数组的第一个值 -> dataa[i][0]:

for (var i = 0; i < dataa.length; i++) {
  document.write(dataa[i][0] + "<br>");
}

我的问题从这里开始。

我无法提取所有的模型并将它们分配给正确的汽车品牌。我尝试了for循环、带有break的循环、while循环和带有条件语句的循环,但我做不到。

请在这里给我一些建议。jQuery或其他技术能帮助我吗?


@user1689607的回答对您很有用。如果您需要将制造商和型号关联在同一结构中,则需要创建一个对象数组,其中每个对象都包含1)制造商名称和2)型号数组。 - Alfabravo
1个回答

2
在你的循环中嵌套一个循环。
for (var i = 0; i < dataa.length; i++) {
    document.write("<h2>Starting new inner loop!</h2><br>");
    for (var j = 0; j < dataa[i].length; j++) {
        document.write(dataa[i][j] + "<br>");
    }
}

现在,对于外部数组中的每个数组,您都需要进行单独的循环。

这里是演示


我已经尝试过了,但在第二个循环中,我将j的值从0更改为2,以仅提取汽车型号。而我不知道应该使用什么代码来将所有型号与制造商相关联。 - Vencolini
@user1729923:这是一个更新的示例。 我不知道你想要什么输出。 - I Hate Lazy
@user1729923:像这样。http://jsfiddle.net/GJgUD/4/ 但现在我猜你只想要选定品牌的车型显示出来,是吗? - I Hate Lazy
1
@user1729923:给我一分钟。禁用它们会更容易,但在隐藏它们时会存在浏览器的一些小问题。我马上回来。 - I Hate Lazy
1
哇,我没想到它会这么长。非常感谢,我会使用它,并且会在这个主题上继续阅读更多。再次感谢。 - Vencolini
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接