将某些对象值更改为大写的更短方法
a shorter way to change some object values to uppercase
我有一个大对象,需要将一些值(不是全部)更改为大写
obj.state = obj.state.toUpperCase();
obj.city = obj.city.toUpperCase();
obj.street = obj.street.toUpperCase();
obj.title = obj.title.toUpperCase();
有没有更短的方法,像这样:
obj(state,city,street,title).toUpperCase();
谢谢
您可以遍历对象的所有键并执行如下操作:
for (const k of Object.keys(obj)) {
obj[k] = obj[k].toUpperCase()
}
如果只想更新部分值,可以过滤键:
const keys = ['state', 'city', 'street', 'title']
for (const k of Object.keys(obj).filter((k) => keys.includes(k))) {
obj[k] = obj[k].toUpperCase()
}
您可以将它变成一个函数以使其可重用:
function objToUpperCase(obj, keys) {
for (const k of Object.keys(obj).filter((k) => keys.includes(k))) {
obj[k] = obj[k].toUpperCase()
}
return obj
}
// to call:
objToUpperCase(obj, ['state', 'city', 'street', 'title'])
我有一个大对象,需要将一些值(不是全部)更改为大写
obj.state = obj.state.toUpperCase();
obj.city = obj.city.toUpperCase();
obj.street = obj.street.toUpperCase();
obj.title = obj.title.toUpperCase();
有没有更短的方法,像这样:
obj(state,city,street,title).toUpperCase();
谢谢
您可以遍历对象的所有键并执行如下操作:
for (const k of Object.keys(obj)) {
obj[k] = obj[k].toUpperCase()
}
如果只想更新部分值,可以过滤键:
const keys = ['state', 'city', 'street', 'title']
for (const k of Object.keys(obj).filter((k) => keys.includes(k))) {
obj[k] = obj[k].toUpperCase()
}
您可以将它变成一个函数以使其可重用:
function objToUpperCase(obj, keys) {
for (const k of Object.keys(obj).filter((k) => keys.includes(k))) {
obj[k] = obj[k].toUpperCase()
}
return obj
}
// to call:
objToUpperCase(obj, ['state', 'city', 'street', 'title'])