function removeSubKeyFromList(list, sub, key, value) {
    for (var i = list.length - 1; i >= 0; i--) {
        if (a4p.isDefined(list[i][sub]) && (list[i][sub][key] == value)) {
            return list.splice(i, 1); // remove from array
        }
    }
    return false;
}
function removeSubKeyFromList(list, sub, key, value) {
    for (var i = list.length - 1; i >= 0; i--) {
        if (a4p.isDefined(list[i][sub]) && (list[i][sub][key] == value)) {
            return list.splice(i, 1); // remove from array
        }
    }
    return false;
}
function removeSubKeyFromList ( list , sub , key , value ) { for ( var i = list . length - 1 ; i >= 0 ; i -- ) { if ( a4p . isDefined ( list [ i ] [ sub ] ) && ( list [ i ] [ sub ] [ key ] == value ) ) { return list . splice ( i , 1 ) ; // remove from array } } return false ; }
Remove from list the last object having the same sub.key attribute as value

@param list Array of objects having sub.key attribute comparable to value
@param {string} sub
@param {string} key
@param value
@return {*} Array of deleted item or false
Remove from list the last object having the same sub . key attribute as value