Tengo un problemilla, tengo una Array multidimensional y me gustaría buscar un texto dentro de ella y me dijera si existe en algún nivel.
He probado de hacer esto:
Aqui tengo la array y llamo a la clase que he creado.
Código ActionScript :
public var laArray:Array = ["uno","dos","tres",["cuatro","cinco"],"seis","siete",["ocho",["nueve","diez"]]] var buscar:Buscar = new Buscar(); trace(buscar.textoEnArray(laArray,"cinco"))
Esta es la clase:
Código ActionScript :
package com.mu.utils{ public class Buscar{ public function textoEnArray(array:Array,texto:String):Boolean{ for(var a:int = 0; a < array.length; a++){ if(array[a] == texto){ return true; }else if(a == array.length-1){ for(var b:int = 0; b < array.length; b++){ if(array[b] as String == null && array[b].length > 0){ textoEnArray(array[b],texto); break; } } } } return false; } } }
Si busco cinco, lo encuentra pero cuando hace "return true", igualmente me devuelve false.
Si busco algo en el primer nivel, funciona correctamente. Y si busco nueve que está al final, nunca llega porque tiene que volver al nivel anterior cuando ha buscado dentro de "cuatro y cinco".
¿Conoceis alguna manera sencilla? he buscado en internet pero no he encontrado nada.
Gracias de antemano!.
Manu