如何使用大写Javascript对象键?

如何使用大写Javascript对象键?,javascript,jquery,Javascript,Jquery,有人知道扭转局面的好方法吗 var obj = [{key1: value1,key2: value2},{key3: value3,key4: value4}]; 进入: 循环执行删除和替换: var obj = [{key1: 1,key2: 1},{key3: 1,key4: 1}]; for(var i = 0; i<obj.length;i++) { var a = obj[i]; for (var key in a) { if (a.hasO

有人知道扭转局面的好方法吗

var obj = [{key1: value1,key2: value2},{key3: value3,key4: value4}];
进入:


循环执行删除和替换:

var obj = [{key1: 1,key2: 1},{key3: 1,key4: 1}];
for(var i = 0; i<obj.length;i++) {

    var a = obj[i];
    for (var key in a) {
        if (a.hasOwnProperty(key)) {
          a[key.charAt(0).toUpperCase() + key.substring(1)] = a[key];
          delete a[key];
          
        }
    }
    obj[i] = a;

}
var obj=[{key1:1,key2:1},{key3:1,key4:1}];

对于(var i=0;i使用lodash的资本化函数

.capitalize('firstName')=>firstName

自2019年起,您可以使用:

let populations={伦敦:8.9,北京:21.54,孟买:18.41};//2020年3月
let entries=Object.entries(总体);
设capsEntries=entries.map((entry)=>[entry[0][0].toUpperCase()+entry[0].slice(1),entry[1]]);
设capsPopulations=Object.fromEntries(capsEntries);

console.log(capsPopulations);
如果您只需要大写第一个字母,就可以使用

或者如果你需要大写每个单词的第一个字母,请考虑下面的

let populations={“伦敦”:8.9,“北京”:21.54,“孟买”:18.41,“纽约”:19.4};
let entries=Object.entries(总体);
//每个单词的首字母大写
设capsEntries=entries.map((entry)=>[entry[0]。replace(/(^\w{1})|(\s+\w{1})/g,letter=>letter.toUpperCase()),entry[1]];
设capsPopulations=Object.fromEntries(capsEntries);

console.log(capsPopulations)
有什么原因要这样做吗?任何使用旧键的代码都会被破坏,因为键是区分大小写的。你是在寻找正则表达式还是在代码运行时这样做的方法?@Marc B,如果我正在制作jqgrids,并且列名的首字母大写,我很可能会选择这样做。然后说我是getti从现有API返回json,键实际上必须与大小写匹配,这样jqgrid才能正常工作。在这种情况下,我想保证从json获得的键也有大写的第一个字母,因此匹配。@tjameson,鉴于我必须执行此操作的频率,速度不是瓶颈所以我想说,任何函数都包括regex.+1,但是请注意,如果起始对象同时包含特定keyname的小写和大写版本,则后者将被覆盖。即,
{key1:1,key1:2}
将以
{key1:1}
结束(还有
obj[I]=a;
之后的
for
是多余的,不是吗?)唯一的区别是我使用了slice而不是substring。否则,这很好。设置新属性后,您可以删除原始属性(一个[key]),然后您就不需要temp变量。您也可以在这里使用解构:
entries.map([k,v])=>[k][0].toUpperCase()+k.slice(1),v])
var obj = [{key1: 1,key2: 1},{key3: 1,key4: 1}];
for(var i = 0; i<obj.length;i++) {

    var a = obj[i];
    for (var key in a) {
        if (a.hasOwnProperty(key)) {
          a[key.charAt(0).toUpperCase() + key.substring(1)] = a[key];
          delete a[key];
          
        }
    }
    obj[i] = a;

}
    const transform = (arrObj) => {
    let newObj=[];
    for(let obj of arrObj) {
      let temp=new Object();
      let keys = Object.keys(obj);
      let values = Object.values(obj);
      let i=0;
      keys.forEach(key => {
          key=key[0].toUpperCase() + key.slice(1);
          temp[`${key}`]=values[i++];
      });
      newObj.push(temp);
    }
    return newObj;
  };
  const arrObj = [{first: 'satya', last:'prakash'}, {college: 'AIT'}];
  console.log(transform(arrObj));