Какой лучший (самый эффективный) способ превратить все ключи объекта в нижний регистр?
мы придумали
function keysToLowerCase (obj) {
var keys = Object.keys(obj);
var n = keys.length;
while (n--) {
var key = keys[n]; // "cache" it, for less lookups to the array
if (key !== key.toLowerCase()) { // might already be in its lower case version
obj[key.toLowerCase()] = obj[key] // swap the value to a new lower case key
delete obj[key] // delete the old key
}
}
return (obj);
}
Но я'Я не уверен, как v8 будет вести себя с этим, например, действительно ли он удалит другие ключи или он только удалит ссылки, а сборщик мусора укусит меня позже?
Также я создалэти тестыЯЯ надеюсь, что вы могли бы добавить свой ответ там, чтобы мы могли видеть, как они совпадают.
РЕДАКТИРОВАТЬ 1: По-видимому, согласно тестам, этобыстрее, если мы неt проверить, что ключ уже в нижнем регистре, но, будучи в стороне быстрее, создаст ли он больше помех, игнорируя это и просто создавая новые ключи в нижнем регистре? Будет ли сборщик мусора этим доволен?