在运行中更改对象参数名称

时间:2010-10-06 13:36:30

标签: javascript

如果我有以下内容:

var myObj = { "Foo":{"prop1":"abc", "prop2":123 }, "Bar":{"prop1":"def", "prop2":456 } };

是否有一种快速安全的方法来修改对象,使其成为:

{ "Foo":{"prop1":"abc", "prop2":123 }, "Bar":{"PROP1":"def", "PROP2":456 } }

我想在运行中更改Bar属性的属性名称的大小写。这可能吗?

1 个答案:

答案 0 :(得分:3)

是的,确实如此。试试这段代码

   var myObjBar = myObj['Bar'];
    for (p in myObjBar) {
      if (myObjBar.hasOwnProperty(p)) {
        var v = myObjBar[p],
            k = p.toUpperCase();
        delete myObjBar[p];
        myObjBar[k] = v;

      }
    }