Maison  >  Article  >  interface Web  >  Comment supprimer les éléments de tableau spécifiés en javascript

Comment supprimer les éléments de tableau spécifiés en javascript

醉折花枝作酒筹
醉折花枝作酒筹original
2021-07-22 09:43:5239383parcourir

Méthode Supprimer : 1. Utilisez le mot-clé delete ; 2. Utilisez la méthode d'opération splice() ; 3. Méthode d'itération, utilisez une boucle pour parcourir les éléments du tableau et supprimez les éléments qui correspondent à ceux que vous souhaitez supprimer ; .Méthode de prototype de prototype,dansArrayAjouter une méthode au prototype pour atteindre l'objectif de suppression.

Comment supprimer les éléments de tableau spécifiés en javascript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

En JavaScript, outre Object, le type Array (array) est probablement le type le plus couramment utilisé. Les tableaux en JavaScript sont très flexibles par rapport aux tableaux d'autres langages. Ce type de flexibilité présente des avantages et des inconvénients. L'avantage est qu'il est créatif et peut fournir diverses solutions flexibles ; l'inconvénient est qu'il est facile d'être stupide, car en fait, il est trop flexible et il est si flexible qu'il est difficile de le faire. est incontrôlable et fou.

Après avoir ridiculisé quelques mots auparavant, revenons au fait. Voici 7 méthodes pour supprimer des éléments de tableau en JavaScript, à savoir en utilisant l'attribut length, le mot-clé delete, la méthode de pile pop(), la méthode de file d'attente shift() et splice. () Méthode d'opération, méthode d'itération forEach() ou filter() et méthode de prototype prototype.

mot-clé delete

JavaScript fournit un mot-clé delete pour supprimer (effacer) les éléments du tableau.

var colors = ["red", "blue", "grey", "green"];delete colors[0];

console.log(colors); // [undefined, "blue", "grey", "green"]

Il convient de noter qu'après avoir utilisé delete pour supprimer un élément, la longueur du tableau reste inchangée, mais l'élément supprimé est défini sur indéfini.

Méthode d'opération splice()

fournit une méthode splice() dans l'objet Array de JavaScript pour effectuer des opérations spécifiques sur le tableau. splice() est probablement la méthode de tableau la plus puissante. Elle peut être utilisée de plusieurs manières. Ici, nous présentons uniquement la méthode de suppression des éléments du tableau. Lors de la suppression d'éléments du tableau, il peut supprimer n'importe quel nombre d'éléments en spécifiant seulement 2 paramètres : la position du premier élément à supprimer et le nombre d'éléments à supprimer.

var colors = ["red", "blue", "grey"];var color = colors.splice(0, 1);

console.log(color); // "red"console.log(colors); // ["blue", "grey"]

On peut voir que lorsque la méthode splice(0, 1) est appelée, un élément est supprimé du tableau en commençant par le premier élément.

Méthode d'itération

La méthode dite d'itération consiste à utiliser une boucle pour itérer les éléments du tableau et à supprimer les éléments qui correspondent aux éléments que vous souhaitez supprimer. L'endroit le plus couramment utilisé peut être lorsque les éléments du tableau sont des objets et que les éléments du tableau peuvent être supprimés en fonction d'un certain attribut de l'objet (tel que l'ID).

La première méthode utilise la boucle ForEach la plus courante pour comparer les éléments et les supprimer après les avoir trouvés.

var colors = ["red", "blue", "grey"];

colors.forEach(function(item, index, arr) {    if(item === "red") {
        arr.splice(index, 1);
    }
});

Vous pouvez voir que la méthode splice() est également utilisée pour réaliser la suppression. La boucle sert simplement à trouver des éléments spécifiques. Une autre idée consiste à pousser les éléments qui n'ont pas besoin d'être supprimés dans un nouveau tableau dans une boucle, ce qui peut également atteindre l'objectif de supprimer faussement des éléments spécifiques.

La deuxième façon dont nous utilisons la méthode de filtrage dans la boucle.

var colors = ["red", "blue", "grey"];

colors = colors.filter(function(item) {    return item != "red"});
 
console.log(colors); // ["blue", "grey"]

Le code est très simple. Découvrez le nombre d'éléments dont les éléments ne sont pas rouges et remettez-le en couleurs (en fait, vous obtenez un nouveau tableau, pas supprimer le tableau d'origine, dans une certaine mesure, vous pouvez y parvenir). le but de supprimer des éléments spécifiques. La

méthode du prototype de prototype

peut être supprimée en ajoutant une méthode au prototype de Array.

Array.prototype.remove = function(dx) {  if(isNaN(dx) || dx > this.length){
    return false;
  }

  for(var i = 0, n = 0; i < this.length; i++) {
    if(this[i] != this[dx]) {      this[n++] = this[i];
    }
  }  this.length -= 1;
};var colors = ["red", "blue", "grey"];
colors.remove(1);
console.log(colors); // ["red", "grey"]

Cette méthode consiste en fait à implémenter vous-même une logique de suppression, puis à ajouter la méthode de suppression à l'objet prototype Array, puis tous les objets Array de cet environnement peuvent utiliser cette méthode. Bien que cela soit possible, il n’est pas recommandé de modifier le prototype d’un objet natif dans une application de production. La raison est simple. Si une méthode manque dans une certaine implémentation et que vous ajoutez cette méthode au prototype de l'objet natif, alors lorsque le code est exécuté dans une autre implémentation prenant en charge cette méthode, cela peut provoquer un conflit de nom. Et cela pourrait accidentellement entraîner le remplacement des méthodes natives.

【Apprentissage recommandé : Tutoriel avancé javascript

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