是否可以访问关联数组内的关联数组的数据?
例如,
foo = {
subFooA: 2,
subFooB: subFooA
}
或
foo = {
subFooA: 2
}
foo = {
subFooB: subFooA
}
CNC中 谢谢你的答案...所以我认为这不可能
filter = {
leadlag: {
parameters: {
K: 1,
fz: 20,
fp: 40,
wz: 2*math.pi*20,
wp: 2*math.pi*40
}
}
}
filter.leadlag.continuous = {
a: [filter.leadlag.parameters.K*filter.leadlag.parameters.wp*filter.leadlag.parameters.wz, filter.leadlag.parameters.K*filter.leadlag.parameters.wp],
b: [filter.leadlag.parameters.wp*filter.leadlag.parameters.wz, filter.leadlag.parameters.wz]
}
更容易完成?
答案 0 :(得分:1)
是的,有可能,您也可以遵循不同的模式:
var foo = {}
foo.subFooB = foo.subFooA = 2;
我总是喜欢使用setter函数作为更简洁的方法:
function setFoo() {
return 2;
}
var foo = {
subfooA: setFoo(),
subFooB: setFoo()
}
答案 1 :(得分:1)
回答你的问题v 2.0:
是的,可以通过一个包含对象引用的辅助变量来读取。
var filter = {
leadlag: {
parameters: {
K: 1,
fz: 20,
fp: 40,
wz: 2 * Math.PI * 20,
wp: 2 * Math.PI * 40
}
}
},
p = filter.leadlag.parameters; // helper variable for better accessing
filter.leadlag.continuous = {
a: [p.K * p.wp * p.wz, p.K * p.wp],
b: [p.wp * p.wz, p.wz]
}
document.write('<pre>' + JSON.stringify(filter, 0, 4) + '</pre>');
答案 2 :(得分:0)
第一个是不可能的,而第二个你几乎就在那里:
var foo = {
subFooA: 2
};
foo.subFooB = foo.subFooA;