Parfois mon application peut retourner un objet vide, comme :
var obj = {};
Comment je peux tester si un objet est vide? ou simplement tester l’existence dun objet.
Parfois mon application peut retourner un objet vide, comme :
var obj = {};
Comment je peux tester si un objet est vide? ou simplement tester l’existence dun objet.
Vous pouvez utiliser Object.keys() si votre navigateur support ECMAScript 5:
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
var obj1 = {};
console.log(isEmpty(obj1)); // true
var obj2 = {1:'A', 2:'B'};
console.log(isEmpty(obj2)); // false
Pour les versions ES3 et antérieures. Vous devrez boucler sur les propriétés de manière explicite :
function isEmpty(obj)
{
for(var prop in obj)
{
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
var obj1 = {};
console.log(isEmpty(obj1)); // true
var obj2 = {1:'A', 2:'B'};
console.log(isEmpty(obj2)); // false
Si vous utiliser la bibliothéque jQuery, vous pouvez utiliser la méthode isEmptyObject() pour vérifier si un objet est vide. Voici un simple exemple:
jQuery.isEmptyObject({}); // true
jQuery.isEmptyObject({ 1:'A', 2:'B' }); // false
Si vous utiliser la bibliothéque Underscore.js, vous pouvez essayer le code suivant pour tester si un objet est vide:
_.isEmpty({}); // true
_.isEmpty({ 1:'A', 2:'B' }); // false
Il y’a une autre façon de le faire pour tester si un objet est vide dans JavaScript:
if(Object.getOwnPropertyNames(obj).length === 0){
//is empty
}