2016-04-12 11 views
-2

Ich habe eine Methode, die ein Objekt zurückgibt, das 4 Objekte enthält:Wie überprüft man, ob ein Objekt "tief leer" ist?

function getFiles() { 
    var documents = {}; 

    documents.files1ToBeCompleted = DocumentsService.getFiles1Uncompleted(); 
    documents.files2ToBeCompleted = DocumentsService.getFiles2Uncompleted(); 
    documents.files3ToBeCompleted = DocumentsService.getFiles3Uncompleted(); 
    documents.files4ToBeCompleted = DocumentsService.getFiles4Uncompleted(); 

    return documents; 
} 

Ich versuche ._isEmpty Unders Funktion zu verwenden, um zu überprüfen, ob das Objekt leer ist, ich meine den Fall, in dem ich ein Objekt erhalten mit leere Unterobjekte. Aber auch alle 4 Objekte sind leer, es ist nicht leer, weil es 4 Elemente enthält. Kennen Sie einen Weg, um zu prüfen, ob ein Objekt "tief leer" ist?

+0

http://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object – AshBringer

+1

'_.values ​​(Dokumente) .Every (_. IsEmpty)'? (oder vielleicht sogar 'alle (isDeepEmpty)') – Bergi

Antwort

-1

Dank Bergi, die mich zu dieser Arbeitslösung führen:

_.every(documentsObject, function(property) { return _.isEmpty(property); }); 

die true wenn das Objekt „tief leer“, false sonst zurückgibt.