【问题标题】:How to convert object keys to upper case如何将对象键转换为大写
【发布时间】:2019-09-13 13:17:50
【问题描述】:

我想将小写键转换为大写键。但是发现我的尝试不起作用。

正确的方法是什么?

这是我的尝试:

var obj = {
  name: "new name",
  age: 33
}

const x = Object.assign({}, obj);

for (const [key, value] of Object.entries(x)) {
  key = key.toUpperCase();
}


console.log(x);

Live Demo

【问题讨论】:

    标签: javascript typescript object ecmascript-6


    【解决方案1】:

    key = key.toUpperCase();
    

    重新分配一个变量几乎不会自己做任何事情(即使key 是可重新分配的) - 您需要显式地改变现有对象:

    var obj = {
      name: "new name",
      age: 33
    }
    
    const x = {};
    
    for (const [key, value] of Object.entries(obj)) {
      x[key.toUpperCase()] = value;
    }
    console.log(x);

    你也可以使用reduce,来避免xexternal突变:

    var obj = {
      name: "new name",
      age: 33
    }
    
    const x = Object.entries(obj).reduce((a, [key, value]) => {
      a[key.toUpperCase()] = value;
      return a;
    }, {});
    console.log(x);

    【讨论】:

    • 对象数组怎么样:var obj = [{ name:"new name", age:33 }, { name:"new ccc", age:34 }]
    • 使用.map,并让mapper函数将被迭代的项目作为obj,并返回x
    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2012-06-18
    • 2011-02-28
    • 2019-12-02
    • 2021-09-03
    • 2022-08-18
    相关资源
    最近更新 更多