Skip to content

Instantly share code, notes, and snippets.

@nomospace
Created December 16, 2014 10:32
Show Gist options
  • Select an option

  • Save nomospace/b4f9e60875d2a5a63dac to your computer and use it in GitHub Desktop.

Select an option

Save nomospace/b4f9e60875d2a5a63dac to your computer and use it in GitHub Desktop.

Revisions

  1. nomospace created this gist Dec 16, 2014.
    17 changes: 17 additions & 0 deletions gistfile1.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    function checkNested(obj /*, level1, level2, ... levelN*/) {
    var args = Array.prototype.slice.call(arguments),
    obj = args.shift();

    for (var i = 0; i < args.length; i++) {
    if (!obj || !obj.hasOwnProperty(args[i])) {
    return false;
    }
    obj = obj[args[i]];
    }
    return true;
    }

    var test = {level1:{level2:{level3:'level3'}} };

    checkNested(test, 'level1', 'level2', 'level3'); // true
    checkNested(test, 'level1', 'level2', 'foo'); // false