Prefácio
Geralmente, podemos desduplicar a matriz. Esta operação não é complicada, basta executar um loop. Agora, o que eu quero fazer é determinar se há conteúdo duplicado na matriz. Nesse caso, retorne verdadeiro. Caso contrário, retorne FALSE.
Idéias
Transforme uma matriz em uma corda
Loop the Original Array, compare cada campo com esta string para ver se há alguma duplicação
Como comparar uma string com B String e B String e pedir para determinar que B String contém uma string?
Métodos: Método de comparação IndexOf () e LastIndexOF ().
Primeiro, construímos o código:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
Como mencionado acima, precisamos usar a função de verificação do ArrRepeat (ARR) e executá -la. Vamos construir esta função abaixo
função arrrepeat (arr) {var arrstr = json.Stringify (arr), str; para (var i = 0; i <arn.Length; i ++) {if (arrtr.indexOf (arr [i])! = arrstr.LastIndexof (arr [i]) {return true;}};OK, a corrida foi bem -sucedida.
O princípio é particularmente simples, ou seja, se a primeira posição de ocorrência e a última posição de ocorrência dos campos na matriz são consistentes na sequência transformada de uma matriz. Se for inconsistente, significa que esse recursivo aparece.
Método 2 Match () Método de comparação regular
Primeiro, como acima, construímos o código:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
Em seguida, reconstruímos a função Arrrepeat (ARR)
function arrrepeat (arr) {var Arrstr = json.Stringify (arr), str; para (var i = 0; i <arn.length; i ++) {if ((arrstr.match (new regexp (arr [i], "g")). length)> 1) {retornar true;}};O princípio é encontrar o número de repetições que são determinadas. Se for maior que 1, será definitivamente repetido. Observe que isso pode descobrir com precisão quantas vezes apareceu! Portanto, esse método realmente tem um objetivo mais amplo.
Ok, a corrida foi bem -sucedida novamente
Resumir
Se você apenas comparar o primeiro método, é realmente suficiente.
O segundo método pode encontrar o número real de vezes que aparece. Por exemplo, se você repetir 4 vezes, poderá encontrar 4. Pense no objetivo específico sozinho.
O método para construir um método regular contendo variáveis novo regexp (arr [i], "g") também é solicitado por outras pessoas.
Na verdade, o que eu pensei primeiro foi a segunda idéia. O problema regular ficou perturbado por um longo tempo e finalmente o resolveu. Só então pensei na primeira ideia.
Os acima são dois métodos (recomendados) para julgar o conteúdo duplicado no JavaScript introduzido pelo editor (recomendado). Espero que possa ajudá -lo!