La déduplication du tableau est une exigence commune, et nous considérons temporairement les tableaux du même type à la déduplication. L'essentiel est de clarifier les idées et de considérer les performances. Les méthodes suivantes sont essentiellement disponibles en ligne, et je les résumerai brièvement ici.
Idées:
1. Ilaster à travers le tableau, comparer un par un et supprimer celui suivant après la comparaison avec la même.
2. Ilétèrent sur le tableau, comparez un par un, comparez-vous au même, sautez les précédents répétés et mettez-les dans le nouveau tableau s'ils sont différents.
3. Prenez n'importe quel élément de tableau dans un nouveau tableau, traversez tout élément de tableau restant, comparez-le avec les éléments du nouveau tableau un par un. S'il y a une différence, mettez-le dans le nouveau tableau.
4. itérer sur le tableau, prendre un élément, comme l'attribut de l'objet, et déterminer si l'attribut existe
1. Supprimer les doublons par la suite:
fonction ov1 (arr) {// var a1 = ((new Date) .getTime ()) for (var i = 0; i <arr.length; i ++) for (var j = i + 1; j <arr.length; j ++) if (arr [i] === arr [j]) {arr.splice (j, 1); j--;} //Console.info( Date) .getTime () - a1) return arr.sort (fonction (a, b) {return ab});}2. Il s'agit d'une méthode conventionnelle, qui est plus facile à comprendre. Si la même chose, la boucle éclatera.
fonction ov2 (a) {// var a1 = ((new Date) .getTime ()) var b = [], n = a.length, i, j; pour (i = 0; i <n; i ++) {pour (j = i + 1; j <n; j ++) if (a [i] === a [j]) {j = false; bris;} if (j) b.push (a [i]); } //console.info((New Date) .getTime () - a1) return b.sort (fonction (a, b) {return ab});}3. Il m'a fallu beaucoup de temps pour comprendre cela. Bien que la boucle J continue ici, la valeur I a changé. Cela équivaut à une nouvelle boucle I:
fonction ov3 (a) {// var a1 = ((new Date) .getTime ()) var b = [], n = a.length, i, j; pour (i = 0; i <n; i ++) {pour (j = i + 1; j <n; j ++) if (a [i] === a [j]) j = ++ i b.push (a [i]);} //console.info((New Date) .gettime () - a1) return b.sort (fonction (a, b) {return ab});};4. Assurez-vous que tous les nouveaux tableaux sont uniques
fonction ov4 (ar) {// var a1 = ((new Date) .getTime ()) var m = [], f; pour (var i = 0; i <ar.length; i ++) {f = true; pour (var j = 0; j <M.Length; j ++) if (ar [i] === m [j]) {f = false; break;}; if (f) m.push (ar [i])} // console.info ((new Date) .getTime () - a1) return m.sort (fonction (a, b) {return ab});}5. Utiliser les propriétés des objets
fonction ov5 (ar) {// var a1 = (new Date) .gettime () var m, n = [], o = {}; for (var i = 0; (m = ar [i])! == Undefined; i ++) if (! o [m]) {n.push (m); o [m] = true;} // console.info n.sort (fonction (a, b) {return ab}) ;;}Les recommandations ci-dessus pour supprimer les valeurs en double dans les tableaux JavaScript sont tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.