创建一个二维关联数组javascript(与php关联数组相同)

时间:2013-08-05 18:44:08

标签: javascript arrays multidimensional-array associative

我正在尝试使用javascript创建一个数组,这样我就可以访问这样的数据:

var name = infArray[0]['name'];
然而,我似乎无法通过这种方式获得任何工作。当我使用json_encode从php传递一个关联数组到javascript时,它以这种方式构造数据。 我之所以这样做是因为我可以将相同格式的数据传回给php来执行更新sql请求。

4 个答案:

答案 0 :(得分:4)

JavaScript没有关联数组。它有(数字)数组和对象。

你想要的是两者兼而有之。像这样:

var infArray = [{
    name: 'Test',
    hash: 'abc'
}, {
    name: 'something',
    hash: 'xyz'
}];

然后您可以像显示一样访问它:

var name = infArray[0]['name']; // 'test'

或使用点符号:

var name = infArray[0].name; // 'test'

答案 1 :(得分:2)

只需var infArray = [{name: 'John'}, {name: 'Greg'}]; - )

答案 2 :(得分:0)

JavaScript没有关联数组。声明为obj['somthing']的任何对象的任何内容都等于obj.something - 它是一个属性。此外,在数组中它可能有点误导,因此任何添加的属性都不会更改数组设置try obj.length

答案 3 :(得分:0)

JavaScript没有这样的2D关联数组。但是2d关联数组可以通过以下代码实现:

var myArr = { K1: {
    K11: 'K11 val',
    K12: 'K12 Val'
    },
    K2: {
    K21: 'K21 Val',
    K22: 'K22 Val'
    }
};
alert(myArr['K1']['K11']);
alert(myArr['K1']['K12']);
alert(myArr['K2']['K21']);
alert(myArr['K2']['K22']);