El caso es que la matríz ArrSinRepeticion contiene un valor más del que por lógica debería de tener
Código ASP:
Ver original
<% Dim ArrOriginal, ArrSinRepeticion(), i, comparacion, x ArrOriginal = Array(8,3,5,2,9,2,3,5,8) Redim preserve ArrSinRepeticion(1) ArrSinRepeticion(0) = ArrOriginal(0) For i = 0 to (UBound(ArrOriginal)-1) comparacion = 0 For x = 0 to (UBound(ArrSinRepeticion)-1) comparacion = StrComp(ArrSinRepeticion(x), ArrOriginal(i), 1) IF (comparacion = 0) then ' está repetido Exit For 'x END IF Next 'x IF (comparacion <> 0) then 'Response.Write UBound(ArrSinRepeticion)+1 &"<br />" Redim preserve ArrSinRepeticion(UBound(ArrSinRepeticion)+1) ArrSinRepeticion(UBound(ArrSinRepeticion)-1) = ArrOriginal(i) Response.Write "(" & UBound(ArrSinRepeticion)-1 & ") => " & ArrOriginal(i) &" " END IF Next 'i Response.Write "<br /><br /><b>Arreglo Original</b><br />" Response.Write Join(ArrOriginal, ", ") Response.Write "<br /><br /><b>Arreglo Original sin valores duplicados</b><br />" Response.Write Join(ArrSinRepeticion, ", ") Response.Write "<br /><br />" Response.Write ArrSinRepeticion(5) %>
Tengo este arreglo Array(8,3,5,2,9,2,3,5,8) y lo que quiero hacer, es eliminar los valores repetidos. Es decir el arreglo ya limpio quedaría Array(8,3,5,2,9). Esto lo viene a demostrar esta prueba de escritorio Response.Write "(" & UBound(ArrSinRepeticion)-1 & ") => " & ArrOriginal(i) &" " que imprime esto (1) => 3 (2) => 5 (3) => 2 (4) => 9 . Pués al parecer no es así, ya que cuando hago el Join, esto es lo que imprime 8, 3, 5, 2, 9, con esa coma al final. Lo que me hace pensar que el subindice llega hasta 5. Esto lo demuestra Response.Write ArrSinRepeticion(5) que en lugar de dar error, puesto que estaría fuera del intervalo, imprime un valor vacío
¿Alguna idea?
Gracias