JavaScript - 如何使用变量作为键?

时间:2018-01-31 13:21:16

标签: javascript object key

我是JavaScript的新手并且阅读了有关该主题的一些问题,但没有一个给我解决我的问题。

我想更改Active Directory中的用户数据,因此我使用ldapjs。有一种方法可以更改用户的属性。

   client.modify(
          user['dn'],
          [new ldap.Change({
              operation: 'replace',
              modification: {
                _var_: u['st']
              }})]);

当我知道要设置的密钥(_var_)时,这非常有效。但是我得到了一个包含任何要更改的键值对的对象。像u = { sn: 'test', l: 'test', st: 'test'};之类的东西现在我想迭代u的所有属性并修改user的相关属性(在AD中)。有没有办法动态设置_var_中的modification键以适应u(sn,l,st)的实际键?

1 个答案:

答案 0 :(得分:1)

这是你正在寻找的吗?前提是_var_包含字符串。

var modification = {};
modification[_var_]=u['st'];
client.modify(
      user['dn'],
      [new ldap.Change({
          operation: 'replace',
          modification: modification})]);

所以使用你的u对象:

for(var k in u){
    modification[k]=u[k];
}

请参阅this fiddle