Maison >interface Web >Questions et réponses frontales >prototype de tableau javascript supprime les mêmes éléments dans le tableau

prototype de tableau javascript supprime les mêmes éléments dans le tableau

PHPz
PHPzoriginal
2023-05-21 11:22:37427parcourir

En JavaScript, un tableau est une structure de données très couramment utilisée, et il est souvent nécessaire d'effectuer une série d'opérations telles que l'ajout, la suppression, la modification et l'interrogation sur le tableau. Dans le développement réel, nous pouvons être confrontés au besoin de supprimer les mêmes éléments dans un tableau. Cet article présente principalement comment utiliser le prototype du tableau pour supprimer les mêmes éléments du tableau.

1. Prototype de tableau

En JavaScript, chaque objet a un prototype. Un prototype est une propriété d'un objet qui pointe vers un autre objet contenant des propriétés et des méthodes partagées. Lorsque nous accédons à une propriété d'un objet, si l'objet lui-même ne possède pas cette propriété, le moteur JavaScript recherche cette propriété dans l'objet prototype. En termes simples, un prototype est un objet utilisé pour partager des propriétés et des méthodes.

Un tableau est aussi un objet, il a donc aussi un prototype. En JavaScript, le prototype d'un tableau est Array.prototype. Cet objet prototype contient de nombreuses méthodes utiles, telles que push, pop, shift, unshift, slice, splice, etc.

Nous pouvons visualiser le prototype du tableau via le code suivant :

console.log(Array.prototype);

Le résultat de sortie est le suivant :

[constructor: ƒ, concat: ƒ, copyWithin: ƒ, fill: ƒ, find: ƒ, …]

2. Utilisez le prototype du tableau pour supprimer les mêmes éléments dans le tableau

En JavaScript, il existe de nombreuses façons de supprimez les mêmes éléments dans le tableau. Nous pouvons utiliser des méthodes de filtrage, de réduction, de forEach et d'autres pour y parvenir. Cependant, la suppression d'éléments identiques d'un tableau peut être implémentée de manière plus concise en modifiant les méthodes dans le prototype du tableau.

Ce qui suit est une fonction qui supprime les mêmes éléments dans le tableau. Cette fonction utilise les méthodes indexOf et splice dans le prototype du tableau :

Array.prototype.unique = function() {
  for (var i = 0; i < this.length; i++) {
    var index = this.indexOf(this[i], i + 1);
    if (index > -1) {
      this.splice(index, 1);
      i--;
    }
  }
  return this;
}

var arr = [1, 2, 2, 3, 3, 3, 4];
arr.unique(); // [1, 2, 3, 4]

Dans le code ci-dessus, nous ajoutons d'abord une méthode unique au prototype du tableau pour supprimer le tableau Mêmes éléments. Ensuite dans la fonction, nous utilisons une boucle for pour parcourir le tableau, et pour chaque élément, nous utilisons la méthode indexOf pour savoir s'il y a les mêmes éléments dans les éléments suivants. Si le même élément est trouvé, utilisez la méthode splice pour supprimer l'élément du tableau et décrémenter le compteur i de 1 pour éviter que les éléments suivants ne soient ignorés.

Enfin, nous renvoyons le tableau après avoir supprimé les éléments en double. Comme vous pouvez le voir, cette méthode est très simple, facile à comprendre et peut supprimer efficacement les mêmes éléments du tableau.

3. Résumé

Cet article présente principalement comment utiliser le prototype de tableau JavaScript pour supprimer les mêmes éléments dans le tableau. En modifiant la méthode du prototype, nous pouvons implémenter cette fonction de manière plus concise, améliorant ainsi l'efficacité du développement. Bien entendu, dans le développement réel, nous devons également choisir la méthode la plus appropriée pour faire fonctionner les tableaux en fonction de la situation spécifique afin d'améliorer l'efficacité et les performances de l'exécution du code.

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