Как определить количество элементов в объекте Javascript?

Гость | 20 марта 2017, 18:25 | 1

Существует объект, например:

var myObject = new Object();
myObject["firstname"] = "Сергей"; // Имя
myObject["lastname"] = "Пушкин"; // Фамилия
myObject["age"] = 21; // Возраст

Как лучше всего рассчитать величину объекта (число входящих в него элементов)? Аналогично функции count в PHP


JavaScript

Решения

Если подсчёт будет происходить в современных браузерах, поддерживающих ES5 в JavaScript, самым простым способом будет:

var size = Object.keys(myObject).length;

Если необходима поддержка старых браузеров, возможно пригодится следующий вариант:

// Функция для определения величины объекта
Object.size = function(obj) {
    var size = 0, key;
    for (key in obj) {
        if (obj.hasOwnProperty(key)) size++;
    }
    return size;
};

// В переменной size будет содержаться число элементов объекта
var size = Object.size(myObject);