Попробуй это.надеюсь, что это поможет
ПРИМЕЧАНИЕ. Это работает только для заданных переменных, если вы ищете динамическое зацикливание, вы можете использовать рекурсивное зацикливание.
let doc = {"envelope":{"headers":[], "triples":[], "instance":{"A":"22", "B":""} }};
function cleanProp(doc) {
for (var propName in doc) {
for(var d in doc[propName]){
if (!isEmpty(doc[propName][d]) || doc[propName][d].length != 0) {
for (var f in doc[propName][d]){
if (doc[propName][d][f] === null || doc[propName][d][f] === undefined || doc[propName][d][f] === "") {
delete doc[propName][d][f];
}
}
}
}
}
}
cleanProp(doc);
console.log(doc);
function isEmpty(obj) {
for(var key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}