1. Array löschen
var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了
2. Array-Elemente löschen
var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置。
3 in js
var arr=['a','b','c'];
Um das 'b' zu löschen, gibt es zwei Methoden:
1, Löschmethode :delete arr[1]
Auf diese Weise bleibt die Länge des Arrays unverändert. Zu diesem Zeitpunkt wird arr[1] undefiniert, hat aber auch den Vorteil, dass der Index des ursprünglichen Arrays unverändert bleibt . Zu diesem Zeitpunkt können Sie die Array-Elemente nur mit
for(index in arr) { document.write('arr['+index+']='+arr[index]); }
durchlaufen, um undefinierte Elemente zu überspringen
* Diese Methode wird von IE4.o und höher unterstützt
2, Array-Objekt-Spleißmethode: arr.splice(1,1);
Auf diese Weise ändert sich die Array-Länge entsprechend, aber auch der ursprüngliche Array-Index ändert sich entsprechend >Die erste 1 im Spleißparameter wird gelöscht. Der Startindex (berechnet von 0), hier ist das zweite Element des Arrays
Die zweite 1 ist die Anzahl der gelöschten Elemente, hier wird nur ein Element gelöscht , das heißt 'b';
Zu diesem Zeitpunkt können Sie die Array-Elemente auf die normale Weise des Array-Traversierens durchlaufen, z. B. für, da die gelöschten Elemente nicht im
< beibehalten werden 🎜>Array* Diese Methode ist nach IE5.5. Unterstützt nur Es ist erwähnenswert, dass die Splice-Methode zwar Array-Elemente löscht, aber auch neue Array-Elemente hinzufügen kannZum Beispiel werden arr.splice(1,1,'d','e '), d und e zum Array arr hinzugefügt Das resultierende Array wird zu arr:'a','d' ,'e','c' Darüber hinaus kürzt JavaScript ein Array, indem es seine Längeneigenschaft festlegt, was die einzige Möglichkeit ist, die Länge eines Arrays zu verkürzen.Wenn Sie den Löschoperator verwenden, um ein Element im Array zu löschen, ändert sich die Längeneigenschaft des Arrays nicht, obwohl dieses Element undefiniert wird. Es gibt zwei Methoden zum Löschen von Elementen und zum Ändern der Länge des Arrays.
/* * 方法: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 = ['1','2','3','4','5']; alert("elements: "+a+"nLength: "+a.length); a.remove(0); //删除下标为0的元素 alert("elements: "+a+"nLength: "+a.length);
/* * 方法: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 = ['1','2','3','4','5']; alert("elements: "+b+"nLength: "+b.length); b.baoremove(1); //删除下标为1的元素 alert("elements: "+b+"nLength: "+b.length);
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);