Buenas,
El problema es que no puedes comparar directamente un array con un valor normal, tienes que recorrer el array para mirar componente a componente si existe el valor que buscas en él.
Para ello, yo he creado una función llamada contains que recorre el array.
Se le pasa un array, el objeto que quieres buscar y como último parámetro opcional, una función de comparación.
Esta función de comparación se utiliza para comparar un objeto del array con el objeto que le pasas. En el ejemplo que te he puesto, le he pasado una función que comparar dos cadenas sin tener en cuenta las mayúsculas o las minúsculas.
(Se le podría haber pasado también una función anónima)
Código Javascript
:
Ver originalfunction contains(a, obj,fequal) {
var i = a.length;
var result = false;
while (i-- && !result) {
if (fequal != null)
result = fequal(a[i],obj);
else result = (a[i] === obj);
}
return result;
}
function CompareUpper(x,y){
return x.toUpperCase() == y.toUpperCase();
}
var caja=null;
var diasemana = new Array("lunes","martes","miercoles","jueves","viernes");
var finsemana = new Array("sábado","domingo");
while(caja==null || caja==""){
caja=prompt("¿Que dia es el que vas a ir ?","");
}
if(contains(diasemana,caja,CompareUpper)){
alert("Este mensaje, solo para dias entre semana");
}
else
if(contains(finsemana,caja,CompareUpper)){
alert("Este mensaje solo para fin de semana");
}else{
alert("Debes introducir un dia");
}​