Prefacio
En general, podemos deduplicar la matriz. Esta operación no es complicada, solo ejecute un bucle. Ahora, lo que quiero hacer es determinar si hay contenido duplicado en la matriz. Si es así, devuelve verdadero. De lo contrario, devuelva falso.
Ideas
Convertir una matriz en una cadena
Encuentre la matriz original, compare cada campo con esta cadena para ver si hay alguna duplicación
¿Cómo comparar una cadena con cadena B y cadena B y solicitar que determine que la cadena B contiene una cadena?
Métodos: IndexOf () y el método de comparación de LastIndexof ().
Primero, construimos el código:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrreat (arr);
Como se mencionó anteriormente, necesitamos usar la función de verificación Arrepeat (ARR) y ejecutarla. Construyamos esta función a continuación
función arrrepeat (arr) {var arrstr = json.stringify (arr), str; for (var i = 0; i <arr.length; i ++) {if (arrstr.indexof (arr [i])! = Arrstr.lastIndexOf (arr [i])) {return True;}}}; return False;}Ok, la carrera fue exitosa.
El principio es particularmente simple, es decir, si la primera posición de ocurrencia y la última posición de ocurrencia de los campos en la matriz son consistentes en la cadena transformada de una matriz. Si es inconsistente, significa que aparece esto recursivo.
Método 2 Match () Método de comparación regular
Primero, como arriba, construimos el código:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrreat (arr);
Luego, reconstruimos la función Arrepeat (arr)
función arrrepeat (arr) {var arrstr = json.stringify (arr), str; for (var i = 0; i <arr.length; i ++) {if ((arrstr.match (new Regexp (arr [i], "g")).El principio es encontrar el número de repeticiones que se determinan. Si es mayor que 1, definitivamente se repetirá. ¡Tenga en cuenta que esto puede averiguar con precisión cuántas veces ha aparecido! Por lo tanto, este método en realidad tiene un propósito más amplio.
Ok, la carrera tuvo éxito de nuevo
Resumir
Si solo compara el primer método, en realidad es suficiente.
El segundo método puede encontrar el número real de veces que aparecen. Por ejemplo, si repite 4 veces, puede encontrar 4. Piense en el propósito específico usted mismo.
Otros también lo solicita el método para construir un método regular que contenga variables nuevas regexp (arr [i], "g").
En realidad, lo que pensé primero fue la segunda idea. El problema regular estaba preocupado por mucho tiempo y finalmente lo resolvió. Solo entonces pensé en la primera idea.
Los anteriores son dos métodos (recomendados) para juzgar contenido duplicado en JavaScript presentados por el editor (recomendado). ¡Espero que pueda ayudarte!