如何在JavaScript中使对象中的所有字符串变为大写

时间:2019-03-07 07:16:10

标签: javascript

例如,我有一个对象:

8087

如何在不使用{name:"Ken", address:"Sample", location:"Sample"} 的情况下使用javascript在一个代码中创建名称,地址和位置。

4 个答案:

答案 0 :(得分:0)

像这样使用for...intoUpperCase

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));