JSFiddle - React, Tailwind, and code Playground

by anoop26667

JavaScript

function getAllUndefined(object) {

    function convertPath(arr, key) {
        var path = "";
        for (var i = 1; i < arr.length; i++) {

            path += arr[i] + "->";
        }
        path += key;
        return path;
    }


    var stack = [];
    var saveUndefined= [];
    function getUndefiend(obj, key) {

        var t = typeof obj;
        switch (t) {
            case "object":
                if (t === null) {
                    return false;
                }
                break;
            case "string":
            case "number":
            case "boolean":
            case "null":
                return false;
            default:
                return true;
        }
        stack.push(key);
        for (k in obj) {
            if (obj.hasOwnProperty(k)) {
                v = getUndefiend(obj[k], k);
                if (v) {
                    saveUndefined.push(convertPath(stack, k));
                }
            }
        }
        stack.pop();
       
    }

    getUndefiend({
        "": object
    }, "");
    return saveUndefined;     
}

var obj = {a:undefined,c:null,innerObj:{a:"text",b:undefined}};

var und = getAllUndefined( obj );
for( var i = 0 ; i< und.length; i++ ){
   document.write( und[i] + "<br />");
}