Maison  >  Article  >  Comment supprimer les doublons du tableau js

Comment supprimer les doublons du tableau js

百草
百草original
2023-07-05 11:32:401674parcourir

Méthodes pour dédupliquer les tableaux js : 1. La méthode "new Set()" fournie par ES6 ; 2. La méthode "filter()" 3. Utiliser une boucle for avec la méthode "indexOf()" ; Chaque élément du tableau est comparé tour à tour aux autres éléments et les éléments en double sont supprimés ; 5. Créez un nouveau tableau vide, utilisez la méthode "indexOf()" pour déterminer l'index de l'élément actuel dans le tableau et s'il l'est. le même que l'indice de la boucle, ajoutez-le à la nouvelle méthode In the array; 6. Double for loop;

Comment supprimer les doublons du tableau js

Le système d'exploitation de ce tutoriel : système windows10, JavaScript ECMAScript version 2023, ordinateur DELL G3.

1. Utilisez la structure Set new Set() fournie par ES6. Elle est simple et facile à utiliser

Placez-la directement dans un nouveau tableau et utilisez l'opérateur d'extension de es6

 var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
 
  console.log(arr);   
 
  function noRepeat(arr){
 
    var newArr = [...new Set(arr)]; //利用了Set结构不能接收重复数据的特点
 
    return newArr
 
  }
 
  var arr2 = noRepeat(arr)
 
  console.log(arr2);

2. ) pour supprimer les doublons

La méthodefilter() crée un nouveau tableau et les éléments du nouveau tableau sont vérifiés pour tous les éléments du tableau spécifié qui remplissent les conditions. item est la valeur de l'élément actuel et index est la valeur d'index de l'élément actuel. La méthode indexOf() renvoie la première occurrence d'une valeur de chaîne spécifiée dans une chaîne. Utilisez indexOf() pour interroger l'indice du tableau pour voir s'il est égal à l'indice actuel. S'il est égal, renvoyez-le, sinon aucune valeur ne sera renvoyée.

var arr = ['apple','apps','pear','apple','orange','apps'];
 
console.log(arr)    
  var newArr = arr.filter(function(item,index){
     return arr.indexOf(item) === index;  // 因为indexOf 只能查找到第一个  
  });
 
console.log(newArr);

3. Utilisez la boucle for avec indexOf pour supprimer les doublons

 var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
 function noRepeat(arr) {
//定义一个新的临时数组 
var newArr=[]; 
//遍历当前数组 
for(var i=0;i<arr.length;i++) {
  //如果当前数组的第i已经保存进了临时数组,那么跳过,
  //否则把当前项push到临时数组里面 
  if(newArr.indexOf(arr[i]) === -1) {  //indexOf() 判断数组中有没有字符串值,如果没有则返回 -1 
     newArr.push(arr[i]);
  }
    }
    return newArr
  }
  var arr2 = noRepeat(arr);
  console.log(arr2);

4. Comparez tour à tour chaque élément du tableau avec d'autres éléments et recherchez les éléments en double. La suppression est fastidieuse et déconseillée

 var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
 console.log(arr);    
 function noRepeat(arr) {
        for(var i = 0; i < arr.length-1; i++){
            for(var j = i+1; j < arr.length; j++){
                if(arr[i]===arr[j]){
                    arr.splice(j,1);
                    j--;
                }
            }
        }
        return arr;
 }
 var arr2 = noRepeat(arr);
 console.log(arr2);

5. la méthode indexOf Déterminez l'index de l'élément actuel dans le tableau. S'il est égal à l'indice de la boucle, ajoutez-le au nouveau tableau

var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
    console.log(arr)    
    function noRepeat(arr) {
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr.indexOf(arr[i]) == i) {
              newArr.push(arr[i]);
            }
        }
        return newArr;
    }
   var arr2 = noRepeat(arr);
   console.log(arr2);

6 Utilisez double for loops

var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
console.log(arr);    
function noRepeat(arr){
   for (var i = 0; i < arr.length; i++) {
       for (var j = 0; j < arr.length; j++) {
           if (arr[i] == arr[j] && i != j) { //将后面重复的数删掉
              arr.splice(j, 1);
            }
       }
    }
    return arr;
}
var arr2  = noRepeat(arr);
console.log(arr2);

7. déduplication

var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
    function noRepeat(arr) {
      let newArr = [];
      for(i=0; i<arr.length; i++){
        if(!newArr.includes(arr[i])){
            newArr.push(arr[i])
        }
      }
     return newArr
   }
 console.log(noRepeat(arr));

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn