Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con String y Array

Estas en el tema de Problema con String y Array en el foro de Flash y Actionscript en Foros del Web. Hola, tengo este código: Código: package { public class Greeter { /** * Defines the names that should receive a proper greeting. */ public static ...
  #1 (permalink)  
Antiguo 23/01/2010, 07:43
 
Fecha de Ingreso: noviembre-2005
Mensajes: 186
Antigüedad: 18 años, 6 meses
Puntos: 1
Problema con String y Array

Hola, tengo este código:

Código:
package {
	public class Greeter {
		/**
		* Defines the names that should receive a proper greeting.
		*/
		public static var validNames:Array=["Sammy","Frank","David"];
		/**
		* Builds a greeting string using the given name.
		*/
		public function sayHello(userName:String = ""):String {
			var greeting:String;
			if (userName=="") {
				greeting="Hello. Please type your user name, and then press the Enter key.";
			} else if (validName(userName)) {
				greeting="Hello, "+userName+".";
			} else {
				greeting="Sorry, "+userName+", you are not on the list.";
			}
			return greeting;
		}
		/**
		* Checks whether a name is in the validNames list.
		*/
		public static function validName(inputName:String = ""):Boolean {
			
			if (validNames.indexOf(inputName)>-1) {
				return true;
			} else {
				return false;
			}
		}
	}
}
pues bien, si a la función validName, le paso uno de los nombres del Array, me devuelve false, cuando debería devolverme true.

y es que si hago esto, siendo el valor de inputName "David", no se cumple la condición, en java un lenguaje en el que tengo más experiencia, se utiliza equals, pero para el ejemplo anterior, valueOf(inputString), necesito una alternativa o una explicación de que hacer en estos casos:

Código:
if (inputName == validName[2] ){
}
Saludos

Etiquetas: string
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 13:10.