我可以在对象上运行大写方法吗?

时间:2012-02-22 17:57:19

标签: javascript object

我有一个对象。有没有办法在其所有键上运行toUppercase? 我正在做的是尝试大写这个对象中的每个元素

JSON.stringify(JSONObj.people).toUpperCase()

我没有得到上述命令为我工作。我对此有点新意,所以感谢任何帮助!

1 个答案:

答案 0 :(得分:6)

Object.withUpperCaseKeys = function upperCaseKeys(o) {
// this solution ignores inherited properties
    var r = {};
    for (var p in o)
        r[p.toUpperCase()] = o[p];
    return r;
}

使用此方法创建具有不同键的 new 对象:

JSONObj.people = Object.withUpperCaseKeys(JSONObj.people);

如果要更改对象(修改实例),请使用

Object.upperCaseKeys = function upperCaseKeys(o) {
// this solution ignores inherited properties
    for (var p in o)
        if (p.toUpperCase() != p) {
            p[p.toUpperCase()] = o[p];
            delete o[p];
        }
    return o; // just for easier chaining
}

Object.upperCaseKeys(JSONObj.people);