2016-01-03 241 views
1

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

例如,

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

在JS这些不被称为 “关联数组”;他们被称为“对象”。 –

回答

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>');

0

首先是不可能的,而第二种方法,你几乎有:

var foo = { 
    subFooA: 2 
}; 

foo.subFooB = foo.subFooA; 
+0

谢谢你的回答,你能看看我的编辑吗? –

1

是的,它是可能的,您可以按照不同的模式,以及:

var foo = {} 
foo.subFooB = foo.subFooA = 2; 

我总是喜欢使用setter功能虽然作为一种更清洁的方法:

function setFoo() { 
    return 2; 
} 
var foo = { 
    subfooA: setFoo(), 
    subFooB: setFoo() 
} 
+0

谢谢你的回答,你能看看我的编辑吗? –