js操作数组函数实例小结
本文实例讲述了js操作数组函数。分享给大家供大家参考,具体如下:
1.删除数组中指定的元素
/**
*参考实例
foreach=function(obj,insp){
if(obj==null&&obj.constructor!=Array){
return[];
}
//obj是要处理的数组,obj==null表示对象尚未存在;obj.constructor!=Array表示对象obj的属性的构造函数不是数组;
//constructor属性始终指向创建当前对象的构造函数。两个条件均满足,则返回空数组[];
//下面对constructor属性作进一步了解。
varobj=[1,2,3,4];//等价于varobj=newArray(1,2,3,4);
console.log(obj.constructor===Array);//返回true表明obj的构造函数为Array;
varfoo=function(){};//等价于varfoo=newFunction();
console.log(foo.constructor===Function);//返回true表明foo的构造函数为Function;
varobj=newFoo();//由构造函数实例化一个obj对象
console.log(obj.constructor===Foo);//返回true表明obj的构造函数为Foo;
*/
//删除数组中指定的元素
functiondel(val,arr)
{
//检测参数
if(arr==null&&arr.constructor!=Array){
return[];
}
varnewarr=[];//不存在的保存到新数组中
for(vari=0;i<arr.length;i++){
if(arr[i]!=val)
newarr.push(arr[i]);
}
returnnewarr;
}
alert(del(2,[1,2,3,4,5,2]));
2.去除重复的元素
/**
*去除数组中重复的元素
把元素的值存为一个新数组的key,key是不可以重复的,然后变量次数组即可
*/
functionunique(data){
data=data||[];
vara={};
len=data.length;
for(vari=0;i<len;i++){
varv=data[i];
if(typeof(a[v])=='undefined'){
a[v]=1;
}
};
data.length=0;
for(variina){
data[data.length]=i;
}
returndata;
}
alert(unique([12,12,12,34]));
3.删除数组指定下标的元素
/**
*删除数组的指定下标元素
*
*i的值是一直在变的,n的值是只有if条件成立的时候才会变(会依次递增)
*/
Array.prototype.remove=function(dx)
{
if(isNaN(dx)||dx>this.length){returnfalse;}
for(vari=0,n=0;i<this.length;i++)
{
if(this[i]!=this[dx])
{
this[n++]=this[i]
}
}
this.length-=1
}
vararr=[1,2,3,4,2,5];
alert(arr);
arr.remove(2);
alert(arr);
希望本文所述对大家JavaScript程序设计有所帮助。