我正在尝试使用javascript创建一个数组,这样我就可以访问这样的数据:
var name = infArray[0]['name'];
然而,我似乎无法通过这种方式获得任何工作。当我使用json_encode从php传递一个关联数组到javascript时,它以这种方式构造数据。
我之所以这样做是因为我可以将相同格式的数据传回给php来执行更新sql请求。
答案 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']);