1

我正在处理的网站需要在一列中列出制造商(汽车制造商)的列表,当单击制造商时,该特定制造商的型号会出现在其右侧的列中,然后将继续列出详细信息在右侧的 div 中查找该型号的可用汽车。该代码的大部分已完成,但是我需要将我的数组从一个充满对象文字的数组更改为在数组中拥有一个包含对象文字的数组。下面是我一直在尝试解决的代码(仅限数组,我可以处理其余部分),我只是不知道该怎么做才能让它正确。

任何帮助将不胜感激。

<div id="test"></div>

<script type="text/javascript">

var inv=new Array();
    inv["ASTON MARTIN"]=new Array(
        ["DBS"]=new Array(
            {"year":2009;"price":"$191,400"},
            {"year":2006,"price":"$160,000"});
        ["DB5"]=new Array(
            {"year":2000,"price":"$80,500"},
            {"year":1996,"price":"$100,600"});              
    );

document.getElementById('test').innerHTML = inv["ASTON MARTIN"]["DBS"][1].price;

</script>
4

2 回答 2

3

在你的代码中,inv不应该是一个数组,而是一个对象。

var inv = {};

您不能将字符串用作数组索引,但在您的情况下使用对象看起来不错。

第二级也是一样。

var inv = {};
    inv["ASTON MARTIN"] = {
        "DBS": new Array(
            {"year":2009;"price":"$191,400"},
            {"year":2006,"price":"$160,000"}),
        "DB5": new Array(
            {"year":2000,"price":"$80,500"},
            {"year":1996,"price":"$100,600"})             
    };

或者更简单:

var inv = {};
inv["ASTON MARTIN"] = {
    "DBS": [
        {"year":2009;"price":"$191,400"},
        {"year":2006,"price":"$160,000"}
    ],
    "DB5": [
        {"year":2000,"price":"$80,500"},
        {"year":1996,"price":"$100,600"
    ]
};
于 2013-02-14T07:45:57.343 回答
0

Inv 应该是对象,因为您希望按名称而不是数字索引进行索引:

inv = {
    "ASTON MARTIN": {
        "DBS": [
            {"year":2009;"price":"$191,400"},
            {"year":2006,"price":"$160,000"}
               ],
        "DB5": [
            {"year":2000,"price":"$80,500"},
            {"year":1996,"price":"$100,600"});              
               ]
      },
   "CAR":{
          "Type": []
       }
   };
于 2013-02-14T07:49:37.167 回答