Maison  >  Article  >  interface Web  >  Résumé des méthodes de déduplication des tableaux à l'aide de js

Résumé des méthodes de déduplication des tableaux à l'aide de js

php中世界最好的语言
php中世界最好的语言original
2018-06-09 11:47:461363parcourir

Cette fois je vais vous apporter un résumé des méthodes de déduplication des tableaux en js Quelles sont les précautions pour dédoublonner les tableaux en js Voici un cas pratique, jetons un oeil.

Nous disposons de n façons de réaliser la déduplication des baies.

Méthode d'implémentation es5

for循环+indexOf
function unique(arr) {
  var uniqueArr = [],
   len = arr.length
  for (var i = 0; i < len; i++) {
   if (uniqueArr.indexOf(arr[i]) == -1) {
    uniqueArr.push(arr[i])
   }
  }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[1, 2, 3, 1, 5, "1"]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]

Déduplication après tri

function unique(arr) {
  var uniqueArr = [],
   sortArr = arr.concat().sort(),
   len = sortArr.length,
   prev
  for (var i = 0; i < len; i++) {
   if (!i || prev !== sortArr[i]) {
    uniqueArr.push(sortArr[i])
   }
   prev = sortArr[i]
  }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)  //[ 1, '1', 2, 3, 5 ]
利用对象
function unique(arr) {
  var uniqueArr = [],
   obj = {},
   len = arr.length
  for (var i = 0; i < len; i++) {
   obj[typeof arr[i] + arr[i]] = arr[i]
  }
  for (var i in obj) {
   uniqueArr.push(obj[i])
  }
  console.log(obj)  //{ number1: 1, number2: 2, number3: 3, number5: 5, string1: '1' }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  // [1, 2, 3, 1, 5, "1"]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]

Méthode d'implémentation es6

利用Set结构和Array.from
function unique(arr) {
  return Array.from(new Set(arr))
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)   //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]
利用Set结构和...
function unique(arr) {
  return [...new Set(arr)]
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)   //[ 1, 2, 3, 5, '1' ]

Méthodes de tableau communes

  • slice() est utilisée pour extraire une partie du tableau cible et renvoyer un nouveau tableau, laissant le tableau d'origine inchangé.

  • concat() est utilisé pour fusionner plusieurs tableaux. Il ajoute les membres du nouveau tableau à la fin des membres du tableau d'origine, puis renvoie un nouveau tableau, laissant le tableau d'origine inchangé.

  • reverse() est utilisé pour inverser les éléments du tableau et renvoyer le tableau modifié. Notez que cette méthode modifiera le tableau d'origine.

  • sort() trie les membres du tableau, la valeur par défaut est l'ordre du dictionnaire. Après le tri, le tableau d'origine sera modifié.

  • push() est utilisé pour ajouter un ou plusieurs éléments à la fin du tableau et renvoie la longueur du tableau après avoir ajouté les nouveaux éléments. Notez que cette méthode modifiera le tableau d'origine.

  • pop() est utilisé pour supprimer le dernier élément du tableau et renvoyer cet élément. Notez que cette méthode modifiera le tableau d'origine.

  • unshift() est utilisé pour ajouter un élément à la première position du tableau et renvoie la longueur du tableau après avoir ajouté le nouvel élément. Notez que cette méthode modifiera le tableau d'origine.

  • shift() est utilisé pour supprimer le premier élément du tableau et renvoyer cet élément. Notez que cette méthode modifiera le tableau d'origine.

  • splice() est utilisé pour supprimer certains membres du tableau d'origine et ajouter de nouveaux membres du tableau à la position supprimée. Notez que cette méthode modifiera le tableau d'origine.

  • map() transmet tour à tour tous les membres du tableau dans la fonction paramètre, puis renvoie les résultats de chaque exécution dans un nouveau tableau.

  • forEach() est très similaire à la méthode map et exécute également la fonction paramètre sur tous les membres du tableau en séquence. Cependant, la méthode forEach ne renvoie pas de valeur et n'est utilisée que pour manipuler des données.

  • filter() est utilisé pour filtrer les membres du tableau, et les membres qui remplissent les conditions forment un nouveau tableau et le renvoient.

  • join() utilise le paramètre spécifié comme séparateur pour concaténer tous les membres du tableau en une chaîne et la renvoyer. Si aucun paramètre n'est fourni, ils sont par défaut des virgules.

  • indexOf() renvoie la position de la première occurrence de l'élément donné dans le tableau, ou -1 s'il n'apparaît pas.

  • lastIndexOf() renvoie la position de la dernière occurrence de l'élément donné dans le tableau, ou -1 s'il n'apparaît pas.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Utiliser vue2.0+boostrap dans le cas

Résoudre le conflit entre le double-clic et cliquez sur les événements

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