Maison >interface Web >js tutoriel >Résumé de plusieurs méthodes de suppression de tableaux dans les compétences js_javascript

Résumé de plusieurs méthodes de suppression de tableaux dans les compétences js_javascript

WBOY
WBOYoriginal
2016-05-16 16:58:501151parcourir

var arr=['a','b','c'];
Pour supprimer le 'b', il existe deux méthodes :

Méthode 1.delete : supprimer arr[1]

De cette façon, la longueur du tableau reste inchangée. À ce moment, arr[1] devient indéfini, mais cela présente également l'avantage que l'index du tableau d'origine reste inchangé. À ce moment, vous pouvez utiliser <.>

pour (index in arr)
{
document.write('arr [' index ']=' arr[index]);
}


Cette méthode de parcours ignore les éléments non définis

* Cette méthode sera prise en charge par IE4.o et versions ultérieures

2. Méthode d'épissage d'objet de tableau : arr.splice(1,1); De cette façon, la longueur du tableau change en conséquence, mais l'index du tableau d'origine change également en conséquence

Le premier 1 du paramètre splice est l'indice de départ de suppression (en comptant à partir de 0), qui est le deuxième élément du tableau

Le deuxième 1 est le nombre d'éléments à supprimer. Un seul élément est ici supprimé, à savoir 'b';

À ce stade, vous pouvez parcourir les éléments du tableau de la manière normale de parcourir le tableau, par exemple pour, car les éléments supprimés ne sont pas conservés dans le tableau

* Cette méthode n'est prise en charge qu'après IE5.5

Il convient de mentionner que même si la méthode splice supprime les éléments du tableau, elle peut également ajouter de nouveaux éléments du tableau

Par exemple, arr.splice(1,1,'d','e'), les deux éléments d et e sont ajoutés au tableau arr

Le tableau de résultats devient arr:'a','d','e','c' 

JavaScript tronque un tableau en définissant la propriété length du tableau. La seule façon de raccourcir la longueur d'un tableau est d'utiliser l'opérateur delete pour supprimer un élément du tableau. Bien que cet élément devienne indéfini, la propriété length de. le tableau ne fonctionne pas. Il existe deux façons de supprimer des éléments et de modifier la longueur du tableau sans changer


/*
*Méthode : Array.remove(dx)
* Fonction : supprimer l'élément du tableau.
* Paramètre : dx supprime l'indice de l'élément */

//Souvent utilisé pour reconstruire le tableau par traversée.

Array.prototype.remove=function(dx) {

 if(isNaN(dx)||dx>this.length){return false;}

 for(var i=0,n =0;i {
 if(this[i]!=this[dx])
 {
  this[n ]=this[i]
antecedent( "elements: " a "nLength: " a.length);
a.remove(0); //Supprimer l'élément d'index 0
alert("elements: " a "nLength: " a.length ; > *Méthode : Array.baoremove(dx)
* Fonction : supprimer un élément du tableau.
* Paramètre : indice dx de l'élément supprimé.
* Retour : modifier le tableau sur le tableau d'origine.
* /
 
 //Nous pouvons également utiliser splice pour implémenter.
 
Array.prototype.baoremove = function(dx)
 {
 if(isNaN(dx)||dx> this .length){return false;}
 this.splice(dx,1);
 }
b = ['1','2','3','4','5' ] ;alert("elements: " b "nLength: " b.length);b.baoremove(1); //Supprimer l'élément avec l'indice 1alert("elements: " b " nLength: " b.length);Nous savons que dans IE5 ou les versions inférieures, l'objet Array (array) de JavaScript ne fournit pas de méthode prête à l'emploi pour supprimer des éléments de tableau. Dans la version IE5.5, bien qu'il existe une méthode d'épissage, elle ne supprime pas un ou plusieurs éléments, mais efface uniquement la valeur d'un ou plusieurs éléments, ce qui signifie que l'élément existe toujours. du tableau n’a pas changé.
En fait, nous pouvons ajouter nous-mêmes une méthode delete au tableau (notez que cela fait référence à la suppression réelle d'un élément du tableau des membres du tableau). Peut-être penserez-vous à utiliser une boucle pour réaffecter le tableau. C'est certainement possible, mais c'est très inefficace.

Ci-dessous, nous expliquons comment utiliser les deux méthodes slice et concat de l'objet Array pour personnaliser la suppression du tableau.

Le code spécifique est le suivant, veuillez faire attention aux commentaires à l'intérieur.




Copier le code


Le code est le suivant :

Array.prototype.del=function(n) { //n représente le nombre, à partir de 0.
//Prototype est le prototype de l'objet. Notez ici comment ajouter des méthodes personnalisées à l'objet.
if(n<0) //Si n<0, aucune opération n'est effectuée.
return this;
else
return this.slice(0,n).concat(this.slice(n 1,this.length)); Un nouveau tableau composé de deux tableaux ou plus.
     Voici un nouveau tableau composé de retour this.slice(0,n)/this.slice(n 1,this.length)
                               
Méthode Slice : renvoie un segment d'un tableau, avec deux paramètres spécifiant respectivement les positions de début et de fin.
 */
}
//Essayons cette méthode pour l'ajouter vous-même
var test=new Array(0,1,2,3,4,5);
test =test .del(3); //En comptant à partir de 0, le 4ème élément est supprimé ici.
alert(test);


De cette façon, nous utilisons uniquement les deux méthodes de l'objet Array pour répondre à nos exigences.
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