Hola. tengo un probolema recurrente al que no he podido encontrar solucion. Otilizo mucho los arrays multidimensionales para crear estructuras de datos. como por ejemplo:
Código:
var clientes=[
cliente1:[nombre:Juan, ropa:[pantalones,camisa]],
cliente2: [nombre:pepe]
]
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:
Código:
var mirarRopa=false;
if(mirarRopa==true){
var ropaCliente1=clientes.cliente1.ropa;
var ropaCliente2=clientes.cliente2.ropa;
var ropaCliente3=clientes.cliente3.ropa;
}
en este ejemplo aun teniendo la variable mirarRopa a false se producen dos errores de javascript
:
Error clientes.cliente2.ropa is undefined
y Error clientes.cliente3 es undefined
la unica forma de solucionar esto seria:
Código:
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;
}
aun asi si no existiera ropa para algun otro cliente o no existiese ese cliente causaria un error.
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.