将对象值转换为大写

Gol*_*nes 1 javascript javascript-objects typescript

我有一个通过执行 JSON.stringify(myObject) 检索的对象

现在我想将所有值(不是键)转换为大写。

我怎样才能在TypeScript中以最好的方式做到这一点?

myObj = {
  "name":"John",
  "age":30,
  "cars": [
    { "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
    { "name":"BMW", "models":[ "320", "X3", "X5" ] }
  ]
 } 
Run Code Online (Sandbox Code Playgroud)

 myObj = {
  "name":"JOHN",
  "age":30,
  "cars": [
    { "name":"FORD", "models":[ "FIESTA", "FOCUS", "MUSTANG" ] },
    { "name":"BMW", "models":[ "320", "X3", "X5" ] }
  ]
 } 
Run Code Online (Sandbox Code Playgroud)

我已经看过这个,但也许有一个最好的方法来实现这一目标。->如何在 Javascript 中将 JSON 字符串值转换为小写?

Tel*_*ary 6

只需对对象进行深度迭代并为字符串值调用 toUpperCase() 函数,如下所示:

var myObj = {
    "name": "John",
    "age": 30,
    "cars": [
        { "name": "Ford", "models": ["Fiesta", "Focus", "Mustang"] },
        { "name": "BMW", "models": ["320", "X3", "X5"] }
    ]
};

function iterate(obj) {
    for (var key in obj) {
        if (obj[key] !== null && typeof obj[key] === "object") {
            iterate(obj[key]);
        } else if (obj[key] !== null && typeof obj[key] === "string") {
            obj[key] = obj[key].toUpperCase();
        }
    }
}

iterate(myObj);
Run Code Online (Sandbox Code Playgroud)