for ( var i in x ) { for ( var j in x[i] ) { if ( i > 0 ) buildLeft( x[i][j], x[i][j-1] ) else buildLeft( x[i][j], null ); } } function buildLeft ( obj, target ) { obj['getLeft'] = function () { return target; }; }