Object keys to lowercase
If you can go ES6, you can get a more concise version:

Object.keys(o).reduce((c, k) =&gt; (c[k.toLowerCase()] = o[k], c), {});


Now, if one or more strings lowercase into the same string, expect only one of them to remain.