Как узнать длину объекта
3 способа определения размера объекта в JavaScript
В JavaScript почти все является объектом. Объекты используются для хранения информации в парах ключ-значение, где значения могут быть представлены данными различных типов или функциями. В отличие от массивов и строк, объекты не располагают встроенным свойством length, определяющим их размеры.
В этом легко убедиться: попробуйте вызвать свойства length для объекта - ответом будет undefined. Тем не менее, существуют простые приемы, позволяющие узнать длину объекта в JavaScript.
Рассмотрим 3 таких трюка:
Object.keys()
Метод Object.keys() возвращает массив ключей. Несложно догадаться, как теперь определить размер самого объекта:
const address = {
city: 'Bngalore',
name: 'John',
job: 'Software'
}
console.log(Object.key(address).length);
Цикл for… in
Еще длину объекта можно узнать с помощью цикла, перебрав все свойства объекта:
let count = 0;
for (let key in address) {
count++
}
console.log(count);
Добавить свойств length в прототип объекта
Добавив свойство length к прототипу объекта, мы сможем повторно использовать его во всем приложении:
if (!Object.prototype.length) {
Object.defineProperty(Object.prototype, 'length', {
get: function() {
return Object.keys(this).length
}
})
}
console.log(address.length);
Надеюсь эта информация была полезной.
Спасибо за внимание.
По материалам статьи Jayanth babu “How to get the length of an object in JavaScript”.