访问关联数组内的关联数组的数据

时间:2016-01-03 12:39:17

标签: javascript

是否可以访问关联数组内的关联数组的数据?

例如,

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]
}

更容易完成?

3 个答案:

答案 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;