What's the best way (most efficient) to turn all the keys of an object to lower case?

前端 未结 20 2532
野性不改
野性不改 2020-12-04 20:42

I\'ve come up with

function keysToLowerCase (obj) {
  var keys = Object.keys(obj);
  var n = keys.length;
  while (n--) {
    var key = keys[n]; // \"cache\"         


        
20条回答
  •  情歌与酒
    2020-12-04 21:25

    Consider lowering case just once, storing it in a lowKey var:

    function keysToLowerCase (obj) {
      var keys = Object.keys(obj);
      var n = keys.length;
      var lowKey;
      while (n--) {
        var key = keys[n];
        if (key === (lowKey = key.toLowerCase()))
        continue
    
        obj[lowKey] = obj[key]
        delete obj[key]
    
      }
      return (obj);
    }
    

提交回复
热议问题