我有一个通过执行JSON.stringify(myObject)检索的对象
现在我想将所有值(不是键)都转换为大写。
如何在 TypeScript 中以最佳方式做到这一点?
myObj = {
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] }
]
}
TO
myObj = {
"name":"JOHN",
"age":30,
"cars": [
{ "name":"FORD", "models":[ "FIESTA", "FOCUS", "MUSTANG" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] }
]
}
我已经看过这个了,但是也许有一个最好的方法来实现。 -> How to convert JSON string values to lowercase in Javascript?
答案 0 :(得分:3)
只需对对象进行一次深层迭代,然后为字符串值调用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);