keyExists = function(obj, structure) { var F = function(){}; F.prototype = obj; var parts = structure.split('.'); var testObj = new F; for (var i = 0, j = parts.length; i < j; i++) { if (!testObj[parts[i]]) { return false; } else { testObj = testObj[parts[i]]; } } return true; } var obj = { a : { b : { c : { d : { e : { f : { g : { h : { i : 333 } } } } } } } } }; console.assert(keyExists(obj, 'a.b.c.d.e.f.g.h.i')); console.assert( ! keyExists(obj, 'a.b.c.d.e.f.g.h.i.j.k') );