1.删除数组中某个下标元素
//prototype为对象原型,注意这里为对象增加自定义方法的方法。 Array.prototype.del=function(n) { //n表示第几项,从0开始算起。 if(n<0) return this; else return this.slice(0,n).concat(this.slice(n+1,this.length)); } //测试 1:
注意删除的不是原数组,而是原数组的拷贝
var test=new Array(0,1,2,3,4,5);
test=test.del(3); //从0算起,这里也就是删除第4项。
alert(test);//0,1,2,4,5
********************************************************************************
//测试 2:
var test=new Array(0,11,2,3,14,15,18,9,5,29); var newarr=[]; for(var i=test.length; i>=0;i--){ if(test[i]<10){ newarr.push(test[i]); } } alert(test);//0,11,2,3,14,15,18,9,5,29 alert(newarr);//5 9 3 2 0
2.删除和排序星号
<script> var star=["**********","*","##","***","$$","****","##*"]; star[7]="**"; star[11]="****" star[12]="*******" var newStar=[]; for(var i=0;i<star.length;i++){//for循环居然不能遍历undefined的元素,相当变态 if(star[i]==undefined){ star[i]="0";//给undifined的值随便赋值 } if(star[i].indexOf("*") ==0){ newStar.push(star[i]); } } alert(newStar)//此处已经拿到所有的开头是“*”打头的元素 newStar.sort(function(a,b){//排序,按照长度来 if(a.length> b.length) return 1; else return -1; }); alert(newStar);//排序后
for(var j=0;j<newStar.length;j++){
document.write(newStar[j]+"<br>")
}
</script>