1

私が取り組んでいるサイトでは、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 = {};

文字列を配列インデックスとして使用することはできませんが、オブジェクトを使用することは問題ないように見えます。

2番目のレベルでも同じです。

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 に答える