Find in Context

by Patrick Hund

JavaScript

var context = {
    stack: {
        tail: {
            tail: {
                head: {
                    adv: "foo"
                }
            }
        }
    }
};

var adv = (function find(prop, curr) {
    if (curr.stack) {
        return find(prop, curr.stack);
    }
    if (curr.tail) {
        return find(prop, curr.tail);
    }
    if (curr.head) {
        return find(prop, curr.head);
    }
    if (curr[prop]) {
        return curr[prop];
    }
    return null;
}("adv", context));

console.log(adv);