我正在尝试在 javascript 中创建一个数组,这将允许我访问这样的数据:
var name = infArray[0]['name'];
但是我似乎无法以这种方式工作。当我使用 json_encode 将 assoc 数组从 php 传递到 javascript 时,它以这种方式构造数据。我这样做的原因是我可以将相同格式的数据传回 php 以执行更新 sql 请求。
我正在尝试在 javascript 中创建一个数组,这将允许我访问这样的数据:
var name = infArray[0]['name'];
但是我似乎无法以这种方式工作。当我使用 json_encode 将 assoc 数组从 php 传递到 javascript 时,它以这种方式构造数据。我这样做的原因是我可以将相同格式的数据传回 php 以执行更新 sql 请求。
JavaScript 没有关联数组。它有(数字)数组和对象。
你想要的是两者的混合。像这样的东西:
var infArray = [{
name: 'Test',
hash: 'abc'
}, {
name: 'something',
hash: 'xyz'
}];
然后您可以像显示的那样访问它:
var name = infArray[0]['name']; // 'test'
或使用点符号:
var name = infArray[0].name; // 'test'
简单var infArray = [{name: 'John'}, {name: 'Greg'}]
;-)
JavaScript 没有关联数组。任何声明为的对象的任何内容obj['somthing']
都等于obj.something
- 并且它是一个属性。此外,在数组中它可能有点误导,所以任何添加的属性都不会改变数组 set try obj.length
。
JavaScript 本身没有二维关联数组。但是二维关联数组可以通过以下代码实现:
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']);