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

前端 未结 20 2531
野性不改
野性不改 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:29

    I used ES6 and TypeScript. toLowerCaseObject function takes an Array as parameter and looking through Object tree recursively and make every node lowercase:

    function toLowerCaseObject(items: any[]) {
            return items.map(x => {
                let lowerCasedObject = {}
                    for (let i in x) {
                        if (x.hasOwnProperty(i)) {
                            lowerCased[i.toLowerCase()] = x[i] instanceof Array ? toLowerCaseObject(x[i]) : x[i];
                        }
                }
                return lowerCasedObject;
            });
        }
    

提交回复
热议问题