Código:
El problema viene cuando intento acceder a una posicion del array no definido aun cuando hay una condicion previa. Pongo un ejemplo de codigo a ver si se entiende mejor:var clientes=[ cliente1:[nombre:Juan, ropa:[pantalones,camisa]], cliente2: [nombre:pepe] ]
Código:
en este ejemplo aun teniendo la variable mirarRopa a false se producen dos errores de javascript:var mirarRopa=false; if(mirarRopa==true){ var ropaCliente1=clientes.cliente1.ropa; var ropaCliente2=clientes.cliente2.ropa; var ropaCliente3=clientes.cliente3.ropa; }
Error clientes.cliente2.ropa is undefined
y Error clientes.cliente3 es undefined
la unica forma de solucionar esto seria:
Código:
aun asi si no existiera ropa para algun otro cliente o no existiese ese cliente causaria un error.var mirarRopa=false; if(mirarRopa==true && clientes.cliente2.ropa!=undefined && clientes.cliente3!=undefined){ var ropaCliente1=clientes.cliente1.ropa; var ropaCliente2=clientes.cliente2.ropa; var ropaCliente3=clientes.cliente3.ropa; }
Mi pregunta seria si no existe algun metodo mejor y menos engorroso para hacer esta validacion. Este es un ejemplo sencillo y sin mucha utilidad pero puede complicarse mucho. Gracias.