Maison > interface Web > js tutoriel > le corps du texte

Un moyen simple de supprimer des éléments du tableau et d'effacer le tableau en js

高洛峰
Libérer: 2017-01-14 11:25:57
original
2228 Les gens l'ont consulté

1. Effacer le tableau

var ary = [1,2,3,4];
ary.splice(0,ary.length);//清空数组
console.log(ary); // 输出 [],空数组,即被清空了
Copier après la connexion

2. Supprimer les éléments du tableau

var ary = [1,2,3,4];
ary.splice(0,1);
或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。
Copier après la connexion

3. en js

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

1, méthode delete :delete arr[1]

De cette façon, la longueur du tableau reste inchangée. À ce stade, arr[1] devient indéfini, mais cela présente également l'avantage que l'index du tableau d'origine reste inchangé. . À l'heure actuelle, vous pouvez parcourir les éléments du tableau. Utilisez uniquement

for(index in arr)
{
 document.write('arr['+index+']='+arr[index]);
}
Copier après la connexion

pour ignorer 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 supprimé. L'index de départ (calculé à partir de 0), voici le deuxième élément du tableau

Le deuxième 1 est le nombre d'éléments supprimés, ici un seul élément est supprimé. , c'est-à-dire 'b';

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

tableau

* Cette méthode est après IE5.5 Prend uniquement en charge

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 '), d et e sont ajoutés au tableau arr

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

De plus, JavaScript tronque un tableau en définissant sa propriété length, ce qui est le seul moyen de raccourcir la longueur d'un tableau.

Si vous utilisez l'opérateur delete pour supprimer un élément du tableau, bien que cet élément devienne indéfini, la propriété length du tableau ne change pas. Il existe deux méthodes pour supprimer des éléments et modifier la longueur du tableau.


/*
  * 方法:Array.remove(dx)
  * 功能:删除数组元素.
  * 参数:dx删除元素的下标.
  * 返回:在原数组上修改数组
*/
//经常用的是通过遍历,重构数组.
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
 }
 a = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;];
 alert("elements: "+a+"nLength: "+a.length);
 a.remove(0); //删除下标为0的元素
 alert("elements: "+a+"nLength: "+a.length);
Copier après la connexion

Exemple 2,

/*
  * 方法:Array.baoremove(dx)
  * 功能:删除数组元素.
  * 参数:dx删除元素的下标.
  * 返回:在原数组上修改数组.
  */
 //也可以用splice来实现.
 Array.prototype.baoremove = function(dx)
 { // www.jb51.net
if(isNaN(dx)||dx>this.length){return false;}
this.splice(dx,1);
 }
 b = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;];
 alert("elements: "+b+"nLength: "+b.length);
 b.baoremove(1); //删除下标为1的元素
 alert("elements: "+b+"nLength: "+b.length);
Copier après la connexion

Dans IE5 ou version antérieure, JavaScript L'objet Array ne fonctionne pas fournir une méthode prête à l'emploi pour supprimer des éléments du 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, vous pouvez ajouter vous-même une méthode de suppression au tableau (notez que cela fait référence à la suppression 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.

Ce qui suit présente comment utiliser les deux méthodes slice et concat de l'objet Array pour personnaliser la suppression du tableau.

Array.prototype.del=function(n) { //n表示第几项,从0开始算起。
//prototype为对象原型,注意这里为对象增加自定义方法的方法。
 if(n<0) //如果n<0,则不进行任何操作。
return this;
 else
return this.slice(0,n).concat(this.slice(n+1,this.length));
/*
 concat方法:返回一个新数组,这个新数组是由两个或更多数组组合而成的。
 这里就是返回this.slice(0,n)/this.slice(n+1,this.length)
 组成的新数组,这中间,刚好少了第n项。
 slice方法: 返回一个数组的一段,两个参数,分别指定开始和结束的位置。
*/
}
//自己增加的方法
var test=new Array(0,1,2,3,4,5);
test=test.del(3); //从0算起,删除第4项。
alert(test);
Copier après la connexion

Le code ci-dessus utilise uniquement les deux méthodes de l'objet Array pour répondre aux exigences de base, ce qui est bien.

La méthode simple ci-dessus pour supprimer des éléments de tableau et effacer des tableaux dans js (à lire absolument) est tout le contenu partagé par l'éditeur. J'espère qu'elle pourra vous donner une référence et j'espère que vous y accorderez plus d'attention. le site Web PHP chinois.

Pour plus de méthodes simples en js pour supprimer des éléments de tableau et effacer des tableaux, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal