2016-07-04 6 views
2

ich auf diesen Fall lief heuteWie behandelt man leeres Objekt in if-Anweisung als false?

if ({}) { 
    // This is returned as empty object is true 
} 

daher einen Weg finden, um müssen, wo {} falsch ist, versucht .length auf einem Objekt aufrufen ich den Pass if-Anweisung, aber das funktioniert nicht.

+0

Ich bin nicht sicher, was Sie fragen. Wenn Sie herausfinden möchten, ob ein Objekt keine Eigenschaften hat, verwenden Sie 'Object.keys'. –

+0

Sie müssen irgendwie definieren, was "leeres Objekt" bedeutet. Das hat keine eigenen Schlüssel ...? – deceze

+0

Object.keys (obj) .length> 0 –

Antwort

2

Sie Object.keys() Methode, dies zu erreichen, verwenden können.

von der Dokumentation des Mozilla:

Die Object.keys() Verfahren eine Anordnung von einem gegebenen Objekt eigener enumerable Eigenschaften zurückkehren, in der gleichen Reihenfolge wie die durch einen für ... in Schleife vorgesehen (der Unterschied, daß ein for-in loop wobei listet auch Eigenschaften in der Prototypkette auf).

if (Object.keys({}).length) { 
 
    console.log('Object is not Empty'); 
 
} else { 
 
    console.log('Object is Empty'); 
 
} 
 

 
console.log(Object.keys({}).length);

1

können Sie versuchen, zu verwenden:

Object.keys(obj).length === 0; 
+0

Sie müssen auch nach Symbol suchen – ftor

Verwandte Themen