1

我正在尝试在 javascript 中创建一个数组,这将允许我访问这样的数据:

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

但是我似乎无法以这种方式工作。当我使用 json_encode 将 assoc 数组从 php 传递到 javascript 时,它以这种方式构造数据。我这样做的原因是我可以将相同格式的数据传回 php 以执行更新 sql 请求。

4

4 回答 4

4

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

你想要的是两者的混合。像这样的东西:

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

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

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

或使用点符号:

var name = infArray[0].name; // 'test'
于 2013-08-05T18:47:44.527 回答
2

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

于 2013-08-05T18:49:28.637 回答
0

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

于 2013-08-05T18:48:38.330 回答
0

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']);  
于 2016-10-22T03:44:10.377 回答