Skip to content Skip to sidebar Skip to footer

Path To Matching Key Value Pair In A Nested Object

I was trying to implement a search in a nested object. // Returns an array of matching objects function getObjects(obj, key, val) { var objects = []; for (va

Solution 1:

I have wrote a custom function

functionobjPath(obj, key, val, path) {
    var result = [];
    var passName = '';
    if (path) {
        passName = path;
    }
    var tempArray = [];
    for (var prop in obj) {
        var value = obj[prop];
        if (typeof value === 'object') {
            tempArray = objPath(value, key, val, passName);
            $.each(tempArray, function (k, value) {
                result.push(value);
            });
        } elseif (!$.isNumeric(obj[key]) && prop == key && obj[key].toLowerCase().match(val)) {
            result.push(passName + '["' + obj[prop] + '"]');
        } else {
            if ($.isNumeric(obj[prop])) {
                //passName += ' > ' + obj[prop];
            } else {
                passName += '["' + obj[prop] + '"]';
            }
        }
    }
    return result;
}

Which will return

["Categories"]["Product2"]["b03"]

Post a Comment for "Path To Matching Key Value Pair In A Nested Object"