javascript - Javascript 中的多维数组(或类似的东西)

标签 javascript

我正在使用的网站需要在一栏中列出品牌(汽车制造商)列表,当点击品牌时,该特定品牌的型号会出现在其右侧的栏中,然后将继续在右侧的 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>

最佳答案

在你的代码中,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"
    ]
};

关于javascript - Javascript 中的多维数组(或类似的东西),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14869964/

相关文章:

javascript - 带列的可折叠列表?

javascript - 如何在 Promise.spread 内部和外部使用 Q Promise 的结果

javascript - 如何从两个日期选择器中减去天数?

javascript - Firebase 如何比较数据规则中的变量(== vs ===)?

javascript - 附加到 JQuery 中的元素

javascript - 如何使用 jquery 调用单个下拉列表到每个元素

javascript - 在 javascript 中绘制 SysML/UML 图

javascript - 奇怪的 AJAX 错误 : not getting a response on AJAX call while getting a response when doing the exact call with different values

JavaScript - 如果密码不正确则重定向到其他页面

javascript - 如何填充嵌套在 Mongoose 对象数组中的文档?