JSFiddle - React, Tailwind, and code Playground
by Pavel Kityan
HTML
<div id="view1"></div>
<div id="view2"></div>
JavaScript
var obj = {
aaa: {
b1: {
c2: {
d3: {
e4: {
f5: 123
}
}
}
}
}
}
var obj2 = {
aaa: {
b1: {
c2: {
d3: {
e4: {
f5: 'second!'
}
}
}
}
}
}
Object.prototype.getData = function(piece, prop){
function digInto(obj, props, level){
if (!level){level = 0;}
if (level == (props.length - 1)) {
return obj[props[level]];
} else {
return digInto(obj[props[level]], props, (level+1));
}
}
var parts = piece.split('/');
return digInto(this, parts)[prop];
}
document.getElementById('view1').innerHTML = JSON.stringify(obj['aaa'].getData('b1/c2/d3/e4', 'f5'));
document.getElementById('view2').innerHTML = JSON.stringify(obj2['aaa']['b1'].getData('c2/d3', 'e4'));