0

我正在尝试将 javascript 矩阵构建为对象。

我绑:

var variations={}; 
variations["p1088"]["red"]["gen"]=1107;
variations["p1090"]["red"]["l"]=1288;

var variations={}; 
variations.p1088.red.gen=1107;
variations.p1090.red.gen=1288;

但两者都抛出异常

TypeError: variations.p1090 is undefined

这里有什么问题?

4

3 回答 3

5

每个子对象都需要声明。所以要获得第一组它会是

var variations = {};
variations.p1088 = {};
variations.p1088.red = {};
variations.p1088.red.gen = 1107;

但是,如果我了解您要做什么,我会制作一组对象。

var variations = [];
variations[0] = {name: 'p1088',color:'red',gen:1007}
于 2012-12-06T19:03:28.250 回答
4

正如错误所说,variations.p1090未定义。你从来没有给它一个价值。

var variations={}; 
variations.p1088={};
variations.p1088.red={};
variations.p1088.red.gen=1107;
于 2012-12-06T19:03:21.423 回答
2

因为你不能假设 p1088、red 和 gen 是对象。这有效:

// short version
var variations = { p1088: { red: { gen: 1107 } } };

// long version
var varations = {};
varations.p1088 = {};
varations.p1088.red = {};
varations.p1088.red.gen = 1077;
于 2012-12-06T19:07:08.513 回答