javascript check existence of nested object
by hairinwind
JavaScript
var a = {b: {value:'test'}}
function prop() {
var args = Array.prototype.slice.call(arguments); //convert arguments to array
var resultWhenUndefinedFound = '';
var result = args.reduce(function(prev, curr, index){
if(prev === undefined) {
return curr;
}
if (prev === resultWhenUndefinedFound) {
return prev;
}
if(curr in prev) {
return prev[curr];
} else {
return resultWhenUndefinedFound;
}
});
return result;
}
console.log('value: '+prop(a, 'b', 'c', 'value'));
console.log('value: '+prop(a, 'b', 'value'));