Javascript双索引关联“数组”对象

时间:2013-08-28 06:29:47

标签: javascript arrays object multidimensional-array associative-array

好的! 首先,我开始质疑我的理智和 其次可以这样做吗?

首先,我在这里找到了与此相关的一小部分问题

javascript array associative AND indexed?(正确的问题错误的结果) Double indexing in associative array(没有直接相关,感觉这个问题实际上是在询问2D矩阵)

好的,那么到目前为止我有什么? 我有一个PHP脚本正在执行MySQLi查询并将附加到HTML页面的完全格式化的JavaScript吐出为<脚本>。到目前为止它是一个3D“数组”(是的,我知道它是一个伪装成数组的对象)。以下所有代码示例都是(应该是)JavaScript我非常熟悉PHP,所以我们将忽略执行。这是我用PHP后构建的对象的粗略模板。

var myObj = {
    brand1: {
        0: brand1, // this exists so that in a "for x in y" loop I can do myObj[x]['0'] to retrieve my brand names as needed
        variety1: {
            //variations size in litres
            0: variety1 // same idea as the "0: brand1" above
            1: 0.8
            2: 1.0
            3: 2.0
        },
        variety2: {
            //same idea as above
        },
        //continue for all other variations on this brand
    },
    brand2: {
        0: brand2,
        variety1: {
            //etc.
        }, //etc.
    }
    // continue for other brands and there variations
}

我理解的是正在发生的事情(记住我一直使用JavaScript总共6天,还没有运行我的代码并尝试使用我的数据结构)

我可以通过那些标签“索引”到我的“数组”,即myObj.brand1.variation1.0或myObj ['brand2'] ['variation1'] ['0']等等,因此通过3D“拥有”矩阵“我抽象了。 我还可以通过“for x in y”循环遍历“矩阵”的每个级别的内容。

现在我疯狂的想法。 你能以某种方式定义这个具有两个id的对象嵌套到每个对象,以获得相当于索引的AND关联“矩阵”吗?问题出现了,因为我已经在计算我的PHP构造脚本的一部分,并已在某些领域使用该计数。即。这样做很简单吗?

0: brand1: {
    0: varition1: {
        //everything else is the same as the above template
    },
},
或者说这是更现实的吗? (虽然可怕但效率低下)

0: {
    0: {
        //my sizes
    },
    varition1: {
        //my sizes
    },
},
brand1: {
    0: {
        //my sizes
    },
    varition1: {
        //my sizes
    },
},

或者这是否真正推动了JavaScript的功能?

只是一个普遍的问题,假定的否定答案迫使我通过PHP过程使用这个JavaScript:

为什么没有人建立一种方法来发送PHP变量等JavaScript(尤其是那些来自MySQL查询的变量),人们会认为这是一个相当合乎逻辑的事情......? (自然没有AJAX,我不需要动态数据):|

更重要的是,为什么JavaScript中没有包含真正的关联(和多维)数组类型?

0 个答案:

没有答案