例如,我有一个对象:
8087
如何在不使用{name:"Ken", address:"Sample", location:"Sample"}
的情况下使用javascript在一个代码中创建名称,地址和位置。
答案 0 :(得分:0)
像这样使用for...in
和toUpperCase
:
const data = {
name: "Ken",
address: "Sample",
location: "Sample"
};
let upperCased = {};
for (var key in data) {
upperCased[key] = data[key].toUpperCase();
}
console.log(upperCased);
答案 1 :(得分:0)
您可以在reduce()
上使用Object.keys
。此方法不会突变原始对象。
let obj = {name:"Ken", address:"Sample", location:"Sample"};
let result = Object.keys(obj).reduce((ac,k) => ({...ac,[k]:k.toUpperCase()}),{})
console.log(result)
答案 2 :(得分:0)
为什么不使用诸如toUpperCase()之类的内置方法?
如果您不喜欢它,则可以使用自己的方法检查每个字符的str,如果它的值在97-122(a-z)范围内,则将32位小写ASCII转换为大写ASCII(A-Z)。 />
使用buildin方法似乎更理智。
这是一种迭代交易字典并大写其值的方法
$tmp = {name:"Ken", address:"Sample", location:"Sample"}
$uppercase_tmp = {name: "", address: "", location: ""}
$keys = Object.keys($uppercase_tmp);
for($i = 0; $i < $keys.length; $i++) {
/* for each key in uppercase_tmp*/
$uppercase_tmp[$keys[$i]] = $tmp[$keys[$i]].toUpperCase()
}
希望有帮助。
Hele
答案 3 :(得分:0)
您可以使用JSON.parse
的恢复功能,然后检查类型和字符串,检查字符是否在a ... z
范围内,然后从字符代码中减去32
到得到一个大写字母。
const
uc = c => c >= 'a' && c <= 'z'
? String.fromCharCode(c.charCodeAt() - 32)
: c,
toUpperCase = (key, value) => typeof value === 'string'
? Array.from(value, uc).join('')
: value
var object = { name: "Ken", address: "Sample", location: "Sample" };
console.log(JSON.parse(JSON.stringify(object), toUpperCase));