Grow your CSS skills. Land your dream job.

Last updated on:

Get Object Size

As in, the number of keys.

function objectSize(the_object) {
  /* function to validate the existence of each key in the object to get the number of valid keys. */
  var object_size = 0;
  for (key in the_object){
    if (the_object.hasOwnProperty(key)) {
  return object_size;


// Arbitrary object
var something = {
  dog: "cat",
  cat: "dog"

// Logs: 2


  1. code200
    Permalink to comment#

    Be sure to add var in front of key in your loop:

    for (var key in the_object){

    so the variable key goes out of scope with the function.

    Most recent browsers support this shorter version:
  2. Just ran across this post while debugging code for IE. IE versions before 9 seem to have a problem with Object.keys and .hasOwnProperty used directly on an object. So a more sophisticated replacement is necessary, which can be found here:

    Hope this helps.

  3. Sam Purcell
    Permalink to comment#

    I like this Chris, but it seems more correct to add it to the Object prototype. IE

    Object.prototype.size = function() {
    var size = 0
    // your code, but using "this"

    return size;
    Called with something.size()

    From what I understand, adding a new function to the object prototype should not be a problem.

Leave a Comment

Posting Code

Markdown is supported in the comment area, so you can write inline code in backticks like `this` or multiline blocks of code in in triple backtick fences like this:

<div>Example code</div>

You don't need to escape code in backticks, Markdown does that for you. If anything screws up, contact us and we can fix it up for you.

*May or may not contain any actual "CSS" or "Tricks".