Ho una funzione che verifica se una richiesta ha o meno richieste e fa diverse azioni basate su quella. Attualmente, ho if(query)
fare qualcos'altro. Tuttavia, sembra che quando non ci sono dati di query, finisco con un oggetto JSON {}
. Come tale, ho bisogno di sostituire if(query)
con if(query.isEmpty())
o qualcosa del genere. Qualcuno può spiegare come potrei fare questo in NodeJS? L'oggetto V8 JSON ha qualche funzionalità di questo tipo?Come posso verificare se un JSON è vuoto in NodeJS?
risposta
È possibile utilizzare una di queste funzioni:
// This should work in node.js and other ES5 compliant implementations.
function isEmptyObject(obj) {
return !Object.keys(obj).length;
}
// This should work both there and elsewhere.
function isEmptyObject(obj) {
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
return false;
}
}
return true;
}
Esempio di utilizzo:
if (isEmptyObject(query)) {
// There are no queries.
} else {
// There is at least one query,
// or at least the query object is not empty.
}
nice ... il secondo funziona bene nel nodo ... non ho provato il primo se – Nav
È possibile utilizzare questo:
var isEmpty = function(obj) {
return Object.keys(obj).length === 0;
}
o questo:
function isEmpty(obj) {
return !Object.keys(obj).length > 0;
}
È anche possibile utilizzare questo:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
Se si utilizza underscore o jQuery, è possibile utilizzare i loro isEmpty
o isEmptyObject
chiamate.
in ritardo nel gioco, ma sto usando un altro modo che mi piace di più anche se non è una soluzione "corretta".
JSON.stringify(obj) === '{}'
So che questo approccio potrebbe ottenere recensioni negative perché io parto dal presupposto che la rappresentazione di stringa di oggetto vuoto è {}
(e che se era { }
) - ma trovo più facile in questo modo, senza una funzione e sembra funziona bene per me
Ci sono diversi motivi per cui questa non è una grande soluzione, comprese le prestazioni, e la varietà di modi in cui gli oggetti possono essere ad esempio, stringificare un 'Errore' con proprietà. –
@DaveNewton,, sono d'accordo sul fatto che questa non è una grande soluzione. Lo dico nella mia risposta. Non sono d'accordo sull'esempio Error poiché 'Object.keys (obj) .length === 0' restituirebbe anche vuoto, quindi in questo scenario questa soluzione è ancora corretta. –
- 1. Come verificare se l'oggetto JSON è vuoto in Java
- 2. Come verificare se l'oggetto JSON è vuoto in PHP?
- 3. Come verificare se l'oggetto JSON è vuoto in Java?
- 4. Come verificare se un DataSet è vuoto?
- 5. Come posso verificare se un campo dell'editor CK è vuoto
- 6. Come posso verificare se un array è nullo/vuoto?
- 7. Come verificare se un buffer è vuoto?
- 8. Javascript: Come verificare se array di risposta JSON è vuoto
- 9. Verificare se un NSMutableDictionary è vuoto?
- 10. come verificare se un JSONArray è vuoto in java?
- 11. Come verificare se un oggetto è uno streaming in NodeJS
- 12. Verificare se NumericUpDown è vuoto
- 13. Verificare se un BSTR è vuoto
- 14. AS3: verificare se un dizionario è vuoto
- 15. Come posso verificare se il valore dell'array è vuoto?
- 16. verificare se un vettore è vuoto
- 17. Come verificare se un array associativo è vuoto in PowerShell
- 18. Come verificare se un valore è vuoto in Lua?
- 19. come verificare se un hash è vuoto in perl
- 20. Come verificare se un file è vuoto in Bash?
- 21. Come verificare se jQuery datepicker è vuoto?
- 22. Verificare se ResultSet è vuoto in Java
- 23. Come verificare se un file non è vuoto nel batch
- 24. Con iOS, come verificare se l'URL è vuoto
- 25. Python, come verificare se un set di risultati è vuoto?
- 26. Come verificare se array vuoto in C
- 27. Come verificare se un int non è nullo o vuoto?
- 28. Come verificare se un array multidimensionale è vuoto o no?
- 29. Python: come verificare se un elenco annidato è essenzialmente vuoto?
- 30. Jquery Verificare se il paragrafo è vuoto
non 'if (0
MilkyWayJoe
naaa, query.length == undefined. la lunghezza è standard in un oggetto array, non in un oggetto JSON. – thisissami