javascript数组的扩展实现代码集合

时间:2021-05-26

Array.prototype.del=function(n)
{
if(n<0)returnthis;
returnthis.slice(0,n).concat(this.slice(n+1,this.length));
}
//数组洗牌
Array.prototype.random=function()
{
varnr=[],me=this,t;
while(me.length>0)
{
nr[nr.length]=me[t=Math.floor(Math.random()*me.length)];
me=me.del(t);
}
returnnr;
}
//数字数组排序
Array.prototype.sortNum=function(f)
{
if(!f)f=0;
if(f==1)returnthis.sort(function(a,b){returnb-a;});
returnthis.sort(function(a,b){returna-b;});
}
//获得数字数组的最大项
Array.prototype.getMax=function()
{
returnthis.sortNum(1)[0];
}
//获得数字数组的最小项
Array.prototype.getMin=function()
{
returnthis.sortNum(0)[0];
}
//数组第一次出现指定元素值的位置
Array.prototype.indexOf=function(o)
{
for(vari=0;i<this.length;i++)if(this[i]==o)returni;
return-1;
}
//移除数组中重复的项
Array.prototype.removeRepeat=function()
{
this.sort();
varrs=[];
varcr=false;
for(vari=0;i<this.length;i++)
{
if(!cr)cr=this[i];
elseif(cr==this[i])rs[rs.length]=i;
elsecr=this[i];
}
varre=this;
for(vari=rs.length-1;i>=0;i--)re=re.del(rs[i]);
returnre;
}

例子:
vararr=["ni","wo","ta"];
删除数组中的“wo”
varnewArr=arr.del(1);
返回数组中“me”第一次出现的位置,若没有就返回-1
varstrPos=arr.indexOf("me");

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章