¿Me puede decir cómo verificar que el objeto JavaScript tenga un valor? Este objeto vm.occupantDetail.contactDetail no es null ni undefined. Se ve como se muestra a continuación en tiempo de ejecución.

Se define como se muestra a continuación.

 vm.occupantDetail = {
            contactDetail: {},
     };

enter image description here

0
Sampath 28 jun. 2016 a las 13:55

4 respuestas

La mejor respuesta

Puedes encontrarlo usando

Object.keys(vm.occupantDetail.contactDetail).length
3
Oxi 28 jun. 2016 a las 11:05

Compruébelo por jQuery.isEmptyObject ()

jQuery.isEmptyObject({}); // true
jQuery.isEmptyObject({ foo: "bar" });

https://api.jquery.com/jQuery.isEmptyObject/

0
bhupesh 28 jun. 2016 a las 11:04

De su código parece que su objeto vm.occupantDetail.contactDetail es simplemente un objeto vacío, y la propiedad __proto__ que está viendo es la propiedad del prototipo de Object. Si desea verificar si un objeto es null, el siguiente condicional hará el trabajo.

if (obj == null) { ... }

Sin embargo , parece que desea verificar si un objeto está vacío , que es diferente. Si desea verificar si un objeto especificado no tiene propiedades asignadas, pruebe la siguiente función.

function isEmpty(map) {
   for(var key in map) {
      if (map.hasOwnProperty(key)) {
         return false;
      }
   }
   return true;
}
0
Patrick Bell 28 jun. 2016 a las 11:00

Verifique la longitud de su objeto y también la longitud de sus llaves.

        if (Object.keys(vm.occupantDetail.contactDetail).length > 0)
        { 
            // vm.occupantDetail.contactDetail has values
        }
0
M.Tanzil 28 jun. 2016 a las 11:09