All attributes as path expressions

by mavilein

HTML

va

JavaScript

function getProps(obj){
    var ret = [];
    for(var prop in obj){
        var value = obj[prop];
        console.log(prop);
        if(isNonNullObject(value)){
            console.log(value);
            var subprops = getProps(value);
            for (var i = 0; i < subprops.length; i++) {
                ret.push(prop + "." + subprops[i]);
            }
        } else {
            ret.push(prop);
        }
    }
    return ret;
}
function isNonNullObject(obj){
    return obj !== null && typeof obj === 'object';
}
var subSubObj = {
    x : 1,
    y : 2,
    z : 3
}
var subObj = {
        ba : 1,
        bb : 2,
        c : subSubObj 
    };
var obj = {
    a : "1",
    sub : subObj 
}
//console.log(getProps(subObj));
// console.log(getProps(obj));
function foo(){
    console.log("foo");
    return " ";
}
function bar(){
    console.log("bar");
}
var s = foo() || bar();