Tengo una función que comprueba si una solicitud tiene alguna consulta o no, y hace diferentes acciones basadas en eso. Actualmente, tengo if(query)
hago esto otra cosa. Sin embargo, parece que cuando no hay datos de consulta, termino con un objeto JSON {}
. Como tal, necesito reemplazar if(query)
con if(query.isEmpty())
o algo por el estilo. ¿Alguien puede explicar cómo podría hacer esto en NodeJS? ¿El objeto JSON V8 tiene alguna funcionalidad de este tipo?¿Cómo puedo verificar si un JSON está vacío en NodeJS?
Respuesta
Puede utilizar cualquiera de estas funciones:
// 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;
}
Ejemplo de uso:
if (isEmptyObject(query)) {
// There are no queries.
} else {
// There is at least one query,
// or at least the query object is not empty.
}
nice ... el segundo funciona bien en el nodo ... no intenté con el primero aunque – Nav
Se puede utilizar esta:
var isEmpty = function(obj) {
return Object.keys(obj).length === 0;
}
o esto:
function isEmpty(obj) {
return !Object.keys(obj).length > 0;
}
También puede utilizar esto:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
Si se utiliza underscore o jQuery, puede utilizar sus isEmpty
o isEmptyObject
llamadas.
tarde en el juego, pero estoy usando otra manera que me gusta más, incluso si no es una solución "adecuada".
JSON.stringify(obj) === '{}'
Sé que este enfoque podría tener malas críticas porque yo estoy asumiendo que la representación de cadena del objeto vacío es {}
(y lo que si era { }
) - pero me parece que es más fácil de esta manera sin una función y que parece funciona bien para mi
Existen varias razones por las que esta no es una gran solución, incluido el rendimiento, y la variedad de formas en que los objetos pueden ser codificados , por ejemplo, stringify un 'Error' con propiedades. –
@DaveNewton, acepto que esta no es una gran solución. Lo afirmo en mi respuesta. No estoy de acuerdo con el ejemplo de error dado que 'Object.keys (obj) .length === 0' también devolverá vacío, por lo que en este escenario, esta solución sigue siendo correcta. –
- 1. Cómo verificar si dynamic está vacío.
- 2. C++: ¿cómo puedo verificar si el buffer cin está vacío?
- 3. ¿Cómo verificar si jQuery datepicker está vacío?
- 4. cómo verificar si un hash está vacío en perl
- 5. para verificar si todo EditText está vacío
- 6. ¿Cómo comprobar si el objeto JSON está vacío en PHP?
- 7. Para verificar si un objeto está vacío o no
- 8. ¿Cómo comprobar si el objeto JSON está vacío en Java?
- 9. ¿Cómo verifico si un repositorio está vacío?
- 10. ¿Cómo puedo verificar si un filehandle está abierto en Perl?
- 11. ¿Cómo puedo determinar si un archivo está vacío?
- 12. ¿Cómo probar si un DataSet está vacío?
- 13. ¿Cómo puedo verificar si un complemento jQuery está cargado?
- 14. ¿Cómo puedo verificar si un módulo Perl está instalado?
- 15. ¿Cómo puedo verificar si actualmente se está visualizando un UIViewController?
- 16. ¿Cómo puedo verificar si un UIView está animando?
- 17. Cómo verificar si un DataGridViewCheckBoxCell está marcado
- 18. compruebe si NSNumber está vacío
- 19. Cómo verificar si un rango de Excel está vacío en C#
- 20. ¿Cómo puedo verificar si el valor de la matriz está vacío?
- 21. ¿Cómo puedo verificar con seguridad si el nodo está vacío o no? (Symfony 2 orugas)
- 22. ¿Verifica si un NSMutableDictionary está vacío?
- 23. ¿Cómo comprobar si UITextFields está vacío?
- 24. ¿Cómo verificar si un objeto está definido?
- 25. ¿Cómo puedo verificar si una IP está viva en Java?
- 26. En JQuery, ¿cómo puedo verificar si el DOM está listo?
- 27. ¿Puedo verificar si el iPhone está acoplado?
- 28. Python: compruebe si un archivo está vacío o no
- 29. Comprueba si un BSTR está vacío
- 30. Si el resultado de Linq está vacío
no 'if (0
MilkyWayJoe
naaa, query.length == undefined. la longitud es estándar en un objeto de matriz, no en un objeto JSON. – thisissami