Foros del Web » Programando para Internet » Javascript »

arrays compatible con FIREFOX y no conIE

Estas en el tema de arrays compatible con FIREFOX y no conIE en el foro de Javascript en Foros del Web. Dado esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script language = "JavaScript" > var cont = 0 ; var cadena ; var contLetras ...
  #1 (permalink)  
Antiguo 03/02/2010, 10:34
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
arrays compatible con FIREFOX y no conIE

Dado esto:
Código Javascript:
Ver original
  1. <script language="JavaScript">
  2. var cont=0;
  3. var cadena;
  4. var contLetras=0;
  5. var contNumeros=0;
  6. var contEspacios=0;
  7. var miarray=new Array();
  8.  
  9. cadena=prompt("Inserta una frasecita","");
  10. miarray=cadena;
  11. for (cont=0; cont<cadena.length;cont++){
  12.         if (miarray[cont]==' '){
  13.             contEspacios++;
  14.         }
  15.         else if (isFinite(miarray[cont])) {
  16.             contNumeros++;
  17.             }
  18.         else{
  19.             contLetras++;
  20.             }
  21.     }
  22.     alert("Letras "+contLetras);
  23.     alert("Numeros "+contNumeros);
  24.     alert("Espacios en blanco "+contEspacios); 
  25. </script>
Es un ejercicio simple, en el que tu introduces una cadena y te dice el nº de letras, numeros y espacios en blacnos, bien, esto me funciona en FIREFOX pero no en internet explorer, he oido que es por los arrays que no se declaran igual, pero no tengo ni idea, me ayudais??
GRACIAS !

Última edición por sepipe; 03/02/2010 a las 12:04
  #2 (permalink)  
Antiguo 03/02/2010, 11:03
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: arrays compatible con FIREFOX y no conIE

Tienes mal esta linea

Código Javascript:
Ver original
  1. miarray=cadena;

Cambiala por esta

Código Javascript:
Ver original
  1. miarray['cont']=cadena;

En vez de isFinite() porque no usas !isNaN() ? Asi

Código Javascript:
Ver original
  1. if(! isNaN(miarray['cont'])){
  2.  
  3.     // bla bla bla
  4.  
  5. }
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 03/02/2010, 11:59
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: arrays compatible con FIREFOX y no conIE

hace lo mismo, funciona en firefox, pero no en explorer..., en explorer me dice k son todo LETRAS(aunque sean espacios, o numeros)
  #4 (permalink)  
Antiguo 03/02/2010, 12:04
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: arrays compatible con FIREFOX y no conIE

Cita:
Iniciado por sepipe Ver Mensaje
hace lo mismo, funciona en firefox, pero no en explorer..., en explorer me dice k son todo LETRAS(aunque sean espacios, o numeros)
Intenta parsear, con parseFloat() y si te da false es porque es string y sino es numero...
__________________
HV Studio
Diseño y desarrollo web
  #5 (permalink)  
Antiguo 03/02/2010, 12:10
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: arrays compatible con FIREFOX y no conIE

Cita:
Iniciado por jackson666 Ver Mensaje
Intenta parsear, con parseFloat() y si te da false es porque es string y sino es numero...
no tiene sentido que pase a parsefloat si quiero sacar letras y espacios en blanco no?
  #6 (permalink)  
Antiguo 03/02/2010, 12:21
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: arrays compatible con FIREFOX y no conIE

entiendo el concepto, lo que no entiendo exactamente es porque no funciona en iexplorer. se supone que en cualquier implementacion de javascript se puede tratar un string como array donde cada indice indica la posicion del caracter en el string. en iexplorer funciona este concepto, pero por alguna razon en este ejemplo no funciona. si justo luego del prompt intentas hacer un alert de la variable con la primera posicion del string me indica undefined, como si no existiera esa posicion.
Código:
var cadena=prompt("Inserta una frasecita","");
alert(cadena[0]);
en todo caso tienes dos alternativas: utilizas la funcion charAt, el cual es practicamente lo mismo que usar la sintaxis de array pero en este caso a traves de una funcion; ó convierte el string explicitamente en array con la funcion split pasandole un string vacio como argumento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 03/02/2010, 12:22
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: arrays compatible con FIREFOX y no conIE

Cita:
Iniciado por sepipe Ver Mensaje
no tiene sentido que pase a parsefloat si quiero sacar letras y espacios en blanco no?
Ok, ni lo intentes, segui como antes y listo =)
__________________
HV Studio
Diseño y desarrollo web
  #8 (permalink)  
Antiguo 03/02/2010, 12:24
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: arrays compatible con FIREFOX y no conIE

Cita:
Iniciado por jackson666 Ver Mensaje
Ok, ni lo intentes, segui como antes y listo =)
jeje, lo unico que digo es que si ya funciona en firefox, lo que hay que cambiar para que funcione en IE no se lo que es
  #9 (permalink)  
Antiguo 03/02/2010, 13:18
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años
Puntos: 122
Respuesta: arrays compatible con FIREFOX y no conIE

Código Javascript:
Ver original
  1. <script language="JavaScript">
  2. var cont=0;
  3. var cadena;
  4. var contLetras=0;
  5. var contNumeros=0;
  6. var contEspacios=0;
  7. var miarray=new Array();
  8.  
  9. cadena=prompt("Inserta una frasecita","");
  10. miarray=cadena.split('');
  11. for (cont=0; cont<cadena.length;cont++){
  12.         if (miarray[cont]==' '){
  13.             contEspacios++;
  14.         }
  15.         else if (isFinite(miarray[cont])) {
  16.             contNumeros++;
  17.             }
  18.         else{
  19.             contLetras++;
  20.             }
  21.     }
  22.     alert("Letras "+contLetras);
  23.     alert("Numeros "+contNumeros);
  24.     alert("Espacios en blanco "+contEspacios);  
  25. </script>

Asi me funciona en IE.

PD. tu declaración del array hazla
miarray =[]
evita usar el operador new lo máximo posible.
__________________
twitter: @imbuzu
  #10 (permalink)  
Antiguo 03/02/2010, 13:23
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: arrays compatible con FIREFOX y no conIE

si, la verdad que es el split se lo merienda, muchas gracias a todos.

Etiquetas: arrays, compatible, firefox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:31.