Déduplication de tableau ;
Le type Array ne fournit pas de méthode de déduplication. Si vous souhaitez supprimer les éléments en double du tableau, vous devez trouver un moyen vous-même :
Première méthode : utilisez la méthode indexOf
var aa=[1,3,5,4,3,3,1,4] function arr(arr) { var result=[] for(var i=0; i<arr.length; i++){ if(result.indexOf(arr[i])==-1){ result.push(arr[i]) } } console.log(result) } arr(aa)
Méthode deux :
function unique(arr) { var result = [], isRepeated; for (var i = 0, len = arr.length; i < len; i++) { isRepeated = false; for (var j = 0, len = result.length; j < len; j++) { if (arr[i] == result[j]) { isRepeated = true; break; } } if (!isRepeated) { result.push(arr[i]); } } return result; }
L'idée générale est que les éléments du tableau sont transférés un par un vers un autre tableau. Pendant le processus de transfert, les éléments sont vérifiés pour voir s'ils sont dupliqués. Si tel est le cas, ils sont directement supprimés. Comme le montrent les boucles imbriquées, cette méthode est extrêmement inefficace. Nous pouvons utiliser une structure de table de hachage pour enregistrer les éléments existants, afin d'éviter les boucles internes. Il se trouve que l'implémentation de hashtable en Javascript est extrêmement simple. Les améliorations sont les suivantes :
function unique(arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) != null; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true; } } return result; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!