JavaScript - Averiguar si dos elementos de un array se repiten

 
Vista:
sin imagen de perfil
Val: 59
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Averiguar si dos elementos de un array se repiten

Publicado por luis (22 intervenciones) el 26/08/2019 14:20:05
Hola amigos. Soy programador de javascript desde hace 10 años. Me he especializado en calculadoras y aceleradores de apuestas. Una cuestión que a muchos les preocupa es cómo crear una subrutina que nos indique si dos elementos o más de una array se repiten. Pongamos por ejemplo que deseamos un conjunto de elementos que no estén repetidos, y si hay alguno pues derivar el programa hacia un lado u otro.

Pongamos por ejemplo el siguiente array

ejemplo=new Array(3,5,2,3,4,77)

Para demostrar si hay repetición o no he observado que los programadores buscan maneras muy complejas de hallar la solución. Yo como siempre opto por el modo más simple. Una forma de averiguar si hay repetición o no sería ordenar el array:

ejemplo1=ejemplo.sort();

El resultado interno de ejemplo1 sería igual a (2,3,3,4,5,77)

Ordenando la serie conseguimos que los elementos repetidos, como en este caso, sean consecutivos.

Ahora ya sólo tendríamos que realizar un condicional.

for(i=0;i<7;i++)
if(ejemplo1[i]==ejemplo1[i-1]){alert('se repite el elemento '+ejemplo1[i]);return}

alert('no hay repetición')

Se entiende que ejemplo1[1] y ejemplo1[2] son iguales, luego al compararlos el programa comprueba que sí se repiten.

De esta forma si aparecen dos elementos consecutivos iguales el programa lanzará un aviso indicando dicha repetición. En caso contrario nos lanzará un aviso indicando que tal repetición no se produce.

Obsérvese que se ha colocado "return" al final del condicional como elemento que corta la secuencia. Si la condición no se produce dicho comando no se ejecuta con lo que pasaría a la siguiente línea.

Te dejo aquí el código completo por si quieres comprobar tú mismo el funcionamiento. Naturalmente este es un ejemplo simple donde los elementos del array son elementos constantes. Lo interesante es que dichos elementos fuesen variables, para asignarles el valor que quisiéramos según sean nuestros objetivos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pagina nueva 1</title>
</head>
<script language=javascript>
 
ejemplo=new Array(2,3,3,4,5,77)
 
function comprobararray(){
 
ejemplo1=ejemplo.sort();
 
for(i=0;i<7;i++)
if(ejemplo1[i]==ejemplo1[i-1]){alert('se repite el elemento '+ejemplo1[i]);return}
alert('no hay repetición')
}
 
 
</script>
<body onload="comprobararray()">
 
</body>
 
</html>

En este ejemplo el programa lanzará la alerta "se repite el elemento 3". Si modificas el array con seis elementos todos distintos observarás como el programa lanza el aviso de que "no hay repetición".
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Averiguar si dos elementos de un array se repiten

Publicado por joel (895 intervenciones) el 26/08/2019 16:15:04
Muy interesante Luis!!!

Gracias por compartirlo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar