Préface
Généralement, nous pouvons déduir le tableau. Cette opération n'est pas compliquée, exécutez simplement une boucle. Maintenant, ce que je veux faire, c'est déterminer s'il y a du contenu en double dans le tableau. Si c'est le cas, revenez vrai. Sinon, retournez false.
Idées
Transformez un tableau en une chaîne
Faire boucle le tableau d'origine, comparez chaque champ avec cette chaîne pour voir s'il y a une duplication
Comment comparer une chaîne avec une chaîne B et B et demander à déterminer que la chaîne B contient une chaîne?
Méthodes: IndexOf () et LastIndexof () Méthode de comparaison.
Tout d'abord, nous construisons le code:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
Comme mentionné ci-dessus, nous devons utiliser la fonction de vérification Arrrepeat (ARR) et l'exécuter. Construisons cette fonction ci-dessous
Fonction 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 course a réussi.
Le principe est particulièrement simple, c'est-à-dire si la première position d'occurrence et la dernière position d'occurrence des champs dans le tableau sont cohérentes dans la chaîne transformée d'un tableau. S'il est incohérent, cela signifie que ce récursive apparaît.
Méthode 2 correspond à la méthode de comparaison régulière
Tout d'abord, comme ci-dessus, nous construisons le code:
var arr = ["aa", "bb", "cc", "bb", "aa"]; arrrepeat (arr);
Ensuite, nous reconstruisons la fonction Arrrepeat (ARR)
fonction ArrRepeat (arr) {var arrstr = json.stringify (arr), str; for (var i = 0; i <arr.length; i ++) {if ((arrstr.match (new regexp (arr [i], "g")). Longueur)> 1) {return true;}}; return false;}Le principe est de trouver le nombre de répétitions déterminées. S'il est supérieur à 1, il sera certainement répété. Notez que cela peut découvrir avec précision combien de fois il est apparu! Par conséquent, cette méthode a en fait un objectif plus large.
Ok, la course a réussi à nouveau
Résumer
Si vous comparez la première méthode, c'est en fait suffisant.
La deuxième méthode peut trouver le nombre réel de fois qui apparaît. Par exemple, si vous répétez 4 fois, vous pouvez trouver 4. Pensez à l'objectif spécifique par vous-même.
La méthode pour construire une méthode régulière contenant des variables nouvelles regexp (arr [i], "g") est également demandée par d'autres.
En fait, ce à quoi je pensais en premier, c'était la deuxième idée. Le problème régulier a été troublé depuis longtemps et l'a finalement résolu. Ce n'est qu'alors que j'ai pensé à la première idée.
Ce qui précède est deux méthodes (recommandées) pour juger du contenu en double dans JavaScript qui vous est présenté par l'éditeur (recommandé). J'espère que cela peut vous aider!