Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2010, 04:31
Pelirr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 1
compareToIgnoreCase

Hola, tengo una función en javascript en la que quiero comparar dos string, o más exactamente dos elementos de dos arrays diferentes, pero me dá error tanto en ie7 como en mozilla, y no entiendo porqué. Estoy utilizando la propiedad "compareToIgnoreCase" porque quiero que no me discrimine entre mayúsculas y minúsculas, ¿podéis decirme dónde está el fallo? He aquí la parte del código:

Código:
for (i=0; i<modeloDetalle.tareas.length; i++)
		{
			nombreTareaElegida.innerHTML = '<span>' + modeloDetalle.tareas[i].nombreTarea + '</span>';
			var tareaElegida = document.getElementById('nombreTareaElegida').innerText;
			vaciarContenidoDetalleActividad(nombreTareaElegida);
			
			if (nombreTareaSeleccionada == tareaElegida)
			{	
				nombreTareaElegida.innerHTML = '<span>' + modeloDetalle.tareas[i].nombreTarea + '</span>';
				descripcionTareaElegida.innerHTML = '<span>' + modeloDetalle.tareas[i].descripcionTarea + '</span>';

				var elem = 0;
				var numLista = 0;
				var listaElementosEnMayuscula = new Array();
				var listaElementosModeloOrdenada = new Array();
				for (elem=0; elem < modeloDetalle.tareas[i].tiposElemento.length; elem++)
				{
					listaElementosEnMayuscula[elem] = modeloDetalle.tareas[i].tiposElemento[elem].toUpperCase();
				}
				listaElementosEnMayuscula = listaElementosEnMayuscula.sort();
				for (numLista=0; numLista < listaElementosEnMayuscula.length; numLista++)
				{
					for (elem=0; elem < modeloDetalle.tareas[i].tiposElemento.length; elem++)
					{
						if (listaElementosEnMayuscula[numLista].compareToIgnoreCase(modeloDetalle.tareas[i].tiposElemento[elem]) == 0 )
						{
							listaElementosModeloOrdenada[numLista] = modeloDetalle.tareas[i].tiposElemento[elem];
						}
					}
				}

				var listaElementos = "";
				for (elem=0; elem < listaElementosModeloOrdenada.length; elem++)
				{
					listaElementos = listaElementos + listaElementosModeloOrdenada[elem];
					if (elem != listaElementosModeloOrdenada.length -1)
					{
						listaElementos = listaElementos + ' - ';
					}
				}
				listadoTiposElementos.innerHTML = listaElementos;
El error está en la línea "if (listaElementosEnMayuscula[numLista].compareToIgnoreCase(modeloDetalle.tareas[i].tiposElemento[elem]) == 0 )"

Muchas gracias, un saludo