2017-02-11 4 views
0

Comment vérifier que l'objet est vide?JS: Vide de l'objet des objets

La structure de l'objet:

{ 
    order: [], 
    search: [], 
    where: { 
     practices: [], 
     role: [], 
     status: [] 
    } 
} 


Ce que j'ai essayé

$(object).length 

Renvoie 1

$.isEmptyObject(filterOptions) 

faux retours

+0

Que voulez-vous dire par objet vide? Un objet qui n'a pas de paire clé-valeur? –

Répondre

1

Ce n'est pas un objet vide car il a trois propriétés et la propriété where a également trois propriétés imbriquées.

Si vous voulez savoir si toutes les propriétés et les propriétés imbriquées sont des tableaux vides alors je ferais ceci:

var isEmpty = function(obj) { 
 
    return Object.keys(obj).every(function(key) { 
 
    if (Array.isArray(obj[key])) { 
 
     return obj[key].length === 0; 
 
    } else { 
 
     return isEmpty(obj[key]); 
 
    } 
 
    }) 
 
}; 
 

 
var obj = { 
 
    order: [], 
 
    search: [], 
 
    where: { 
 
    practices: [], 
 
    role: [], 
 
    status: [], 
 
    x: { 
 
     y: { 
 
     z: [] 
 
     } 
 
    } 
 
    } 
 
}; 
 

 
console.log(isEmpty(obj));

+0

Merci l'homme, ça marche! – Satuyan

0

Essayez aussi cette

function isEmpty (obj) { 
    for (var key in obj) { 
    if (Array.isArray(obj[key]) && obj[key].length != 0) { 
     return false; 
    } else if (typeof obj[key] == "object") { 
     isEmpty(obj[key]) 
    } 
    return true 
} 
}